約 5,863,366 件
https://w.atwiki.jp/hikipuro/pages/79.html
定数 EPERM 1 Operation not permitted ENOENT 2 No such file or directory ESRCH 3 No such process EINTR 4 Interrupted system call EIO 5 I/O error ENXIO 6 No such device or address E2BIG 7 Arg list too long ENOEXEC 8 Exec format error EBADF 9 Bad file number ECHILD 10 No child processes EAGAIN 11 Try again ENOMEM 12 Out of memory EACCES 13 Permission denied EFAULT 14 Bad address ENOTBLK 15 Block device required EBUSY 16 Device or resource busy EEXIST 17 File exists EXDEV 18 Cross-device link ENODEV 19 No such device ENOTDIR 20 Not a directory EISDIR 21 Is a directory EINVAL 22 Invalid argument ENFILE 23 File table overflow EMFILE 24 Too many open files ENOTTY 25 Not a typewriter ETXTBSY 26 Text file busy EFBIG 27 File too large ENOSPC 28 No space left on device ESPIPE 29 Illegal seek EROFS 30 Read-only file system EMLINK 31 Too many links EPIPE 32 Broken pipe EDOM 33 Math argument out of domain of func ERANGE 34 Math result not representable EDEADLK 35 Resource deadlock would occur ENAMETOOLONG 36 File name too long ENOLCK 37 No record locks available ENOSYS 38 Function not implemented ENOTEMPTY 39 Directory not empty ELOOP 40 Too many symbolic links encountered EWOULDBLOCK EAGAIN Operation would block ENOMSG 42 No message of desired type EIDRM 43 Identifier removed ECHRNG 44 Channel number out of range EL2NSYNC 45 Level 2 not synchronized EL3HLT 46 Level 3 halted EL3RST 47 Level 3 reset ELNRNG 48 Link number out of range EUNATCH 49 Protocol driver not attached ENOCSI 50 No CSI structure available EL2HLT 51 Level 2 halted EBADE 52 Invalid exchange EBADR 53 Invalid request descriptor EXFULL 54 Exchange full ENOANO 55 No anode EBADRQC 56 Invalid request code EBADSLT 57 Invalid slot EDEADLOCK EDEADLK EBFONT 59 Bad font file format ENOSTR 60 Device not a stream ENODATA 61 No data available ETIME 62 Timer expired ENOSR 63 Out of streams resources ENONET 64 Machine is not on the network ENOPKG 65 Package not installed EREMOTE 66 Object is remote ENOLINK 67 Link has been severed EADV 68 Advertise error ESRMNT 69 Srmount error ECOMM 70 Communication error on send EPROTO 71 Protocol error EMULTIHOP 72 Multihop attempted EDOTDOT 73 RFS specific error EBADMSG 74 Not a data message EOVERFLOW 75 Value too large for defined data type ENOTUNIQ 76 Name not unique on network EBADFD 77 File descriptor in bad state EREMCHG 78 Remote address changed ELIBACC 79 Can not access a needed shared library ELIBBAD 80 Accessing a corrupted shared library ELIBSCN 81 .lib section in a.out corrupted ELIBMAX 82 Attempting to link in too many shared libraries ELIBEXEC 83 Cannot exec a shared library directly EILSEQ 84 Illegal byte sequence ERESTART 85 Interrupted system call should be restarted ESTRPIPE 86 Streams pipe error EUSERS 87 Too many users ENOTSOCK 88 Socket operation on non-socket EDESTADDRREQ 89 Destination address required EMSGSIZE 90 Message too long EPROTOTYPE 91 Protocol wrong type for socket ENOPROTOOPT 92 Protocol not available EPROTONOSUPPORT 93 Protocol not supported ESOCKTNOSUPPORT 94 Socket type not supported EOPNOTSUPP 95 Operation not supported on transport endpoint EPFNOSUPPORT 96 Protocol family not supported EAFNOSUPPORT 97 Address family not supported by protocol EADDRINUSE 98 Address already in use EADDRNOTAVAIL 99 Cannot assign requested address ENETDOWN 100 Network is down ENETUNREACH 101 Network is unreachable ENETRESET 102 Network dropped connection because of reset ECONNABORTED 103 Software caused connection abort ECONNRESET 104 Connection reset by peer ENOBUFS 105 No buffer space available EISCONN 106 Transport endpoint is already connected ENOTCONN 107 Transport endpoint is not connected ESHUTDOWN 108 Cannot send after transport endpoint shutdown ETOOMANYREFS 109 Too many references cannot splice ETIMEDOUT 110 Connection timed out ECONNREFUSED 111 Connection refused EHOSTDOWN 112 Host is down EHOSTUNREACH 113 No route to host EALREADY 114 Operation already in progress EINPROGRESS 115 Operation now in progress ESTALE 116 Stale NFS file handle EUCLEAN 117 Structure needs cleaning ENOTNAM 118 Not a XENIX named type file ENAVAIL 119 No XENIX semaphores available EISNAM 120 Is a named type file EREMOTEIO 121 Remote I/O error EDQUOT 122 Quota exceeded ENOMEDIUM 123 No medium found EMEDIUMTYPE 124 Wrong medium type
https://w.atwiki.jp/alphaomega/pages/61.html
youtube-dl - youtube.comやその他の動画プラットフォームから動画をダウンロードする INSTALLATION DESCRIPTION OPTIONS CONFIGURATION OUTPUT TEMPLATE FORMAT SELECTION VIDEO SELECTION FAQ DEVELOPER INSTRUCTIONS EMBEDDING YOUTUBE-DL BUGS COPYRIGHT INSTALLATION To install it right away for all UNIX users (Linux, macOS, etc.), type sudo curl -L https //yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl If you do not have curl, you can alternatively use a recent wget sudo wget https //yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl Windows users can download an .exe file and place it in any location on their PATH except for %SYSTEMROOT%\System32 (e.g. do not put in C \Windows\System32). You can also use pip sudo -H pip install --upgrade youtube-dl This command will update youtube-dl if you have already installed it. See the pypi page for more information. macOS users can install youtube-dl with Homebrew brew install youtube-dl Or with MacPorts sudo port install youtube-dl Alternatively, refer to the developer instructions for how to check out and work with the git repository. For further options, including PGP signatures, see the youtube-dl Download Page. DESCRIPTION youtube-dl is a command-line program to download videos from YouTube.com and a few more sites. It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is not platform specific. It should work on your Unix box, on Windows or on macOS. It is released to the public domain, which means you can modify it, redistribute it or use it however you like. youtube-dl [OPTIONS] URL [URL...] OPTIONS -h, --help これのヘルプテキストを出力して終了する --version プログラムのバージョンを出力して終了する -U, --update このプログラムを最新バージョンに更新する。 十分な権限があることを確認してください (必要なら sudo 付きで実行します) -i, --ignore-errors 再生リストで利用できない動画をスキップするなど、ダウンロードエラーでも続行します --abort-on-error エラーが発生した場合、それ以上の(プレイリストまたはコマンドライン内の)動画のダウンロードを中止する --dump-user-agent 現在のブラウザIDを表示しま --list-extractors すべてのサポートされている抽出機能を一覧表示する --extractor-descriptions すべてのサポートされている抽出機能の説明を表示する --force-generic-extractor 抽出に汎用の抽出機能を強制的に使用する --default-search PREFIX 不適切なURLのためにこのプレフィックスを使用します。 For example gvsearch2 downloads two videos from google videos for youtube-dl large apple . 値 auto を使用してyoutube-dlに推測させます ( auto_warning to emit a warning when guessing). error は単にエラーを投げます。 デフォルト値 fixup_error は壊れたURLを修復しますが、これが不可能である場合は検索の代わりにエラーを発生させます。 --ignore-config 設定ファイルを読み取らない。 グローバル設定ファイル /etc/youtube-dl.conf が与えられている場合 ~/.config/youtube-dl/config (Windows では %APPDATA%/youtube-dl/config.txt) のユーザー設定を読み取らない --config-location PATH 設定ファイルの位置; 設定へのパスまたはそれを含むディレクトリ。 --flat-playlist プレイリストの動画は抽出せず、一覧表示するだけ。 --mark-watched 視聴した動画をマークする (YouTubeのみ) --no-mark-watched 視聴した動画をマークしない (YouTubeのみ) --no-color Do not emit color codes in output Network Options --proxy URL 指定された HTTP/HTTPS/SOCKS プロキシを使用する。 SOCKS プロキシを有効にするには、適切なスキームを指定します。 たとえば socks5 //127.0.0.1 1080/ 。 直接接続の場合は空文字列 (--proxy ) を渡します --socket-timeout SECONDS Time to wait before giving up, in seconds --source-address IP Client-side IP address to bind to -4, --force-ipv4 IPv4経由ですべての接続を確立する -6, --force-ipv6 IPv6経由ですべての接続を確立する Geo Restriction --geo-verification-proxy URL このプロキシを使用して、一部の地理的に制限されたサイトのIPアドレスを確認します。 実際のダウンロードには、-proxyで指定されたデフォルトのプロキシ(オプションが存在しない場合はnone)が使用されます。 --geo-bypass X-Forwarded-For HTTP ヘッダーの偽造により地理的制限を回避する --no-geo-bypass X-Forwarded-For HTTP ヘッダーの偽造により地理的制限を回避しない --geo-bypass-country CODE 明示的に提供された2文字の ISO 3166-2 国コード で地理的制限を強制的に回避する --geo-bypass-ip-block IP_BLOCK CIDR記法で明示的に提供されたIPブロックで地理的制限を強制的に回避する Video Selection --playlist-start NUMBER Playlist video to start at (default is 1) --playlist-end NUMBER Playlist video to end at (default is last) --playlist-items ITEM_SPEC ダウンロードするプレイリストの動画アイテム。 プレイリスト内の 1,2,5,8 でインデックスされた動画をダウンロードしたい場合は、 --playlist-items 1,2,5,8 のように、プレイリスト内の動画のインデックスをカンマで区切って指定します。 範囲を指定できます --playlist-items 1-3,7,10-13 , これはインデックス 1,2,3,7,10,11,12,13 の動画をダウンロードします。 --match-title REGEX 一致するタイトルのみをダウンロード (正規表現または大文字と小文字を区別しない部分文字列) --reject-title REGEX 一致するタイトルのダウンロードをスキップ (正規表現または大文字と小文字を区別しない部分文字列) --max-downloads NUMBER NUMBER 個のファイルをダウンロード後に中止 --min-filesize SIZE SIZE (50k や 44.6m など) より小さい任意の動画はダウンロードしない --max-filesize SIZE SIZE (50k や 44.6m など) より大きい任意の動画はダウンロードしない --date DATE この日付にアップロードされた動画のみダウンロード --datebefore DATE この日付にもしくは前に (即ち包括的) アップロードされた動画のみをダウンロード --dateafter DATE この日付にもしくは後に (即ち包括的) アップロードされた動画のみをダウンロード --min-views COUNT 再生回数 COUNT 未満の任意の動画はダウンロードしない --max-views COUNT 再生回数 COUNT 超過の任意の動画はダウンロードしない --match-filter FILTER ジェネリックビデオフィルター。 キーが存在する場合に一致する任意のキー(使用可能なキーのリストについては、 OUTPUT TEMPLATE を参照してください。)を指定し、!keyを指定してキーが存在しないかどうかを確認し、key NUMBER ( comment_count 12 のように、 =, , =,!=,=でも機能します)を指定して数値と比較し、key= LITERAL ( uploader = Mike Smith のように、!=でも機能します)を指定して文字列リテラルと一致させます。 --no-playlist URLが動画とプレイリストを参照している場合は、動画のみをダウンロードする。 --yes-playlist URLが動画とプレイリストを参照している場合は、プレイリストをダウンロードする。 --age-limit YEARS 特定の年齢に適した動画のみをダウンロードする --download-archive FILE アーカイブファイルにリストされていない動画のみダウンロードする。 そこにすべてのダウンロードされた動画のIDを記録する。 --include-ads 広告もダウンロードする (実験的) Download Options -r, --limit-rate RATE バイト毎秒単位の最大ダウンロード速度 (例 50K や 4.2M) -R, --retries RETRIES 再試行回数(デフォルトは10)、または infinite 。 --fragment-retries RETRIES フラグメントの再試行回数(デフォルトは10)、または infinite (DASH, hlsnative および ISM) --skip-unavailable-fragments 利用できないフラグメントをスキップする (DASH, hlsnative および ISM) --abort-on-unavailable-fragment 一部のフラグメントが利用可能でない場合、ダウンロードを中止する --keep-fragments ダウンロードが終了した後ディスクにダウンロードされたフラグメントを保つ; フラグメントはデフォルトで消去されます --buffer-size SIZE ダウンロードバッファのサイズ (例 1024 や 16K) (デフォルトは1024) --no-resize-buffer バッファサイズを自動的に調節しない。 デフォルトでは、バッファサイズはSIZEの初期値から自動的にリサイズされます。 --http-chunk-size SIZE チャンクベースのHTTPダウンロード用のチャンクのサイズ (例 10485760 または 10M) (デフォルトでは無効)。 Webサーバーによって課せられる帯域幅調整をバイパスするのに役立つ場合があります(実験的) --playlist-reverse プレイリストの動画を逆順でダウンロードする --playlist-random プレイリストの動画を乱順でダウンロードする --xattr-set-filesize 予想されるファイルサイズで file xattribute ytdl.filesize を設定します --hls-prefer-native ffmpegの代わりにネイティブHLSダウンローダーを使用する --hls-prefer-ffmpeg ネイティブHLSダウンローダーの代わりにffmpegを使用する --hls-use-mpegts HLSビデオのmpegtsコンテナーを使用して、ダウンロード中にビデオを再生できるようにします(一部のプレーヤーはビデオを再生できない場合があります) --external-downloader COMMAND 指定された外部ダウンローダーを使用する。 現在 aria2c,avconv,axel,curl,ffmpeg,httpie,wget をサポート --external-downloader-args ARGS これらの引数を外部ダウンローダーに与える Filesystem Options -a, --batch-file FILE ダウンロードするURLを含むファイル(stdin の場合は - )、行あたり1URL。 # , ; , ] で始まる行はコメントと見なされ無視されます。 --id ファイル名にはビデオIDのみ使用する -o, --output TEMPLATE Output filename template, see the OUTPUT TEMPLATE for all the info --autonumber-start NUMBER Specify the start value for %(autonumber)s (default is 1) --restrict-filenames ファイル名をASCII文字のみに制限し、ファイル名で & と空白を避ける -w, --no-overwrites ファイルを上書きしない -c, --continue 部分的にダウンロードされたファイルを強制的に再開する。 デフォルトでは、youtube-dlは可能であればダウンロードを再開する。 --no-continue 部分的にダウンロードされたファイルを再開しない (最初から再開) --no-part .partファイルを使用しない - 出力ファイルに直接書き込む --no-mtime Do not use the Last-modified header to set the file modification time --write-description ビデオの説明を.descriptionファイルに書き込む --write-info-json ビデオメタデータを.info.jsonファイルに書き込む --write-annotations ビデオ注釈を.annotations.xmlファイルに書き込む --load-info-json FILE JSON file containing the video information (created with the --write-info-json option) --cookies FILE File to read cookies from and dump cookie jar in --cache-dir DIR youtube-dlがいくらかのダウンロードされた情報を永続的に格納できるファイルシステム内の位置。 デフォルトでは $XDG_CACHE_HOME/youtube-dl または ~/.cache/youtube-dl 。 At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change. --no-cache-dir ファイルシステムのキャッシュを無効にする --rm-cache-dir すべてのファイルシステムキャッシュファイルを削除する Thumbnail images --write-thumbnail サムネイル画像をディスクへ書き込む --write-all-thumbnails すべてのサムネイル画像形式をディスクへ書き込む --list-thumbnails すべての利用可能なサムネイル形式をシミュレートして一覧表示する Verbosity / Simulation Options -q, --quiet Activate quiet mode --no-warnings 警告を無視する -s, --simulate ビデオをダウンロードせずディスクへ何も書き込まない --skip-download ビデオをダウンロードしない -g, --get-url Simulate, quiet but print URL -e, --get-title Simulate, quiet but print title --get-id Simulate, quiet but print id --get-thumbnail Simulate, quiet but print thumbnail URL --get-description Simulate, quiet but print video description --get-duration Simulate, quiet but print video length --get-filename Simulate, quiet but print output filename --get-format Simulate, quiet but print output format -j, --dump-json Simulate, quiet but print JSON information. See the OUTPUT TEMPLATE for a description of available keys. -J, --dump-single-json Simulate, quiet but print JSON information for each command-line argument. If the URL refers to a playlist, dump the whole playlist information in a single line. --print-json Be quiet and print the video information as JSON (video is still being downloaded). --newline Output progress bar as new lines --no-progress プログレスバーを出力しない --console-title Display progress in console titlebar -v, --verbose さまざまなデバッグ情報を出力する --dump-pages 問題をデバッグするためにbase64を使用してエンコードされたダウンロードされたページを出力する (非常に詳細) --write-pages 問題をデバッグするためにダウンロードされた中間ページを現在のディレクトリのファイルへ書き込む --print-traffic 送受信されたHTTPトラフィックを表示する -C, --call-home デバッグのためにyoutube-dlサーバーに連絡する --no-call-home デバッグのためにyoutube-dlサーバーに連絡しない Workarounds --encoding ENCODING 指定されたエンコーディングを強制する (実験的) --no-check-certificate HTTPS証明書の検証を抑制する --prefer-insecure 動画に関する情報を取得するために、暗号化されていない接続を使用する。 (現在はYouTubeでのみサポートされています) --user-agent UA カスタムユーザーエージェントを指定する --referer URL カスタムリファラーを指定する、ビデオアクセスが1つのドメインに制限されている場合に使用します --add-header FIELD VALUE コロン で区切られた、カスタムHTTPヘッダーとその値を指定する。 このオプションは複数回使用できます --bidi-workaround Work around terminals that lack bidirectional text support. Requires bidiv or fribidi executable in PATH --sleep-interval SECONDS Number of seconds to sleep before each download when used alone or a lower bound of a range for randomized sleep before each download (minimum possible number of seconds to sleep) when used along with --max-sleep-interval. --max-sleep-interval SECONDS Upper bound of a range for randomized sleep before each download (maximum possible number of seconds to sleep). Must only be used along with --min-sleep-interval. Video Format Options -f, --format FORMAT ビデオフォーマットコード、すべての情報については FORMAT SELECTION を参照してください --all-formats すべての利用可能なビデオ形式をダウンロードする --prefer-free-formats 特定の形式が要求されない限り無料のビデオ形式を優先する -F, --list-formats リクエストされた動画のすべての利用可能なフォーマットをリストする --youtube-skip-dash-manifest Do not download the DASH manifests and related data on YouTube videos --merge-output-format FORMAT マージが必要な場合(例 bestvideo+bestaudio)、与えられたコンテナー形式に出力します。 mkv,mp4,ogg,webm,flv のいずれか。 マージが不要な場合は無視されます Subtitle Options --write-sub 字幕ファイルを書き込む --write-auto-sub 自動生成された字幕ファイルを書き込む (YouTubeのみ) --all-subs ビデオのすべての利用可能な字幕をダウンロードする --list-subs ビデオのすべての利用可能な字幕をリストする --sub-format FORMAT Subtitle format, accepts formats preference, for example srt or ass/srt/best --sub-lang LANGS Languages of the subtitles to download (optional) separated by commas, use --list- subs for available language tags Authentication Options -u, --username USERNAME このアカウントIDでログインする -p, --password PASSWORD アカウントパスワード。 このオプションを省略した場合、youtube-dlは対話的に尋ねます。 -2, --twofactor TWOFACTOR 二要素認証コード -n, --netrc Use .netrc authentication data --video-password PASSWORD Video password (vimeo, smotri, youku) Adobe Pass Options --ap-mso MSO Adobe Pass multiple-system operator (TV provider) identifier, use --ap-list-mso for a list of available MSOs --ap-username USERNAME Multiple-system operator account login --ap-password PASSWORD Multiple-system operator account password. If this option is left out, youtube-dl will ask interactively. --ap-list-mso List all supported multiple-system operators Post-processing Options -x, --extract-audio ビデオファイルをオーディオのみのファイルに変換する (ffmpegまたはavconvおよびffprobeまたはavprobeが必要です) --audio-format FORMAT オーディオ形式を指定 best , aac , flac , mp3 , m4a , opus , vorbis , または wav ; デフォルトでは best ; -xなしでは効果なし --audio-quality QUALITY Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default 5) --recode-video FORMAT 必要に応じて、ビデオを別の形式にエンコードします (現在サポートされているもの mp4|flv|ogg|webm|mkv|avi) --postprocessor-args ARGS Give these arguments to the postprocessor -k, --keep-video Keep the video file on disk after the post- processing; the video is erased by default --no-post-overwrites Do not overwrite post-processed files; the post-processed files are overwritten by default --embed-subs Embed subtitles in the video (only for mp4, webm and mkv videos) --embed-thumbnail Embed thumbnail in the audio as cover art --add-metadata Write metadata to the video file --metadata-from-title FORMAT Parse additional metadata like song title / artist from the video title. The format syntax is the same as --output. Regular expression with named capture groups may also be used. The parsed parameters replace existing values. Example --metadata-from- title %(artist)s - %(title)s matches a title like Coldplay - Paradise . Example (regex) --metadata-from-title (?P artist .+?) - (?P title .+) --xattrs Write metadata to the video file s xattrs (using dublin core and xdg standards) --fixup POLICY Automatically correct known faults of the file. One of never (do nothing), warn (only emit a warning), detect_or_warn (the default; fix file if we can, warn otherwise) --prefer-avconv Prefer avconv over ffmpeg for running the postprocessors --prefer-ffmpeg Prefer ffmpeg over avconv for running the postprocessors (default) --ffmpeg-location PATH Location of the ffmpeg/avconv binary; either the path to the binary or its containing directory. --exec CMD Execute a command on the file after downloading and post-processing, similar to find s -exec syntax. Example --exec adb push {} /sdcard/Music/ rm {} --convert-subs FORMAT Convert the subtitles to other format (currently supported srt|ass|vtt|lrc) CONFIGURATION 任意のサポートされているコマンドラインオプションを設定ファイルに配置することでyoutube-dlを設定できます。 LinuxおよびmacOSでは、システム全体の設定ファイルは /etc/youtube-dl.conf にありユーザー全体の設定ファイルは ~/.config/youtube-dl/config にあります。 Windowsでは、ユーザー全体の構成ファイルの位置は %APPDATA%\youtube-dl\config.txt または C\Users\ ユーザー名 \youtube-dl.conf です。 Note that by default configuration file may not exist so you may need to create it yourself. For example, with the following configuration file youtube-dl will always extract the audio, not copy the mtime, use a proxy and save all videos under Movies directory in your home directory # #で始まる行はコメントです # 常に音声を抽出する -x # mtimeをコピーしない --no-mtime # このプロキシを使用する --proxy 127.0.0.1 3128 # すべてのビデオをホームディレクトリのムービーディレクトリに保存する -o ~/Movies/%(title)s.%(ext)s Note that options in configuration file are just the same options aka switches used in regular command line calls thus there must be no whitespace after - or --, e.g. -o or --proxy but not - o or -- proxy. You can use --ignore-config if you want to disable the configuration file for a particular youtube-dl run. You can also use --config-location if you want to use custom configuration file for a particular youtube-dl run. .netrc ファイルによる認証 You may also want to configure automatic credentials storage for extractors that support authentication (by providing login and password with --username and --password) in order not to pass credentials as command line arguments on every youtube-dl execution and prevent tracking plain text passwords in the shell command history. You can achieve this using a .netrc file on a per extractor basis. For that you will need to create a .netrc file in your $HOME and restrict permissions to read/write by only you touch $HOME/.netrc chmod a-rwx,u+rw $HOME/.netrc After that you can add credentials for an extractor in the following format, where extractor is the name of the extractor in lowercase machine extractor login login password password For example machine youtube login myaccount@gmail.com password my_youtube_password machine twitch login my_twitch_account_name password my_twitch_password To activate authentication with the .netrc file you should pass --netrc to youtube-dl or place it in the configuration file. On Windows you may also need to setup the %HOME% environment variable manually. For example set HOME=%USERPROFILE% OUTPUT TEMPLATE -o オプションはユーザーが出力ファイル名のためのテンプレートを指定できるようにします。 tl;dr navigate me to examples. 基本的な使い方は、 youtube-dl -o funny_video.flv https //some/video のように単一のファイルをダウンロードするときにテンプレート引数を何も設定しないことです。 ただし、個々のビデオをダウンロードする際に置き換えられる特別なシーケンスをそれに含められます。 特別なシーケンスは、python文字列フォーマット操作に従ってフォーマットできます。 たとえば、 %(NAME)s や %(NAME)05d 。 明確にするために、これはパーセント記号に丸括弧内の名前が続き、フォーマット操作が続きます。 シーケンスタイプとともに使用できる名前は id (string) ビデオ識別子 title (string) ビデオタイトル url (string) ビデオURL ext (string) ビデオの拡張子 alt_title (string) ビデオの二次タイトル display_id (string) ビデオの代替識別子 uploader (string) 動画アップローダーのフルネーム license (string) ビデオがライセンスされているライセンス名 creator (string) ビデオの作成者 release_date (string) ビデオがリリースされた日付(YYYYMMDD) timestamp (numeric) ビデオが利用可能になった瞬間のUNIXタイムスタンプ upload_date (string) 動画のアップロード日(YYYYMMDD) uploader_id (string) 動画アップローダーのニックネームまたはID channel (string) 動画がアップロードされているチャンネルの完全な名前 channel_id (string) チャンネルのID location (string) ビデオが撮影された物理的な場所 duration (numeric) 秒単位のビデオの長さ view_count (numeric) プラットフォームでどれだけのユーザーがビデオを視聴したか like_count (numeric) 動画の肯定的な評価の数 dislike_count (numeric) 動画の否定的な評価の数 repost_count (numeric) ビデオの再投稿の数 average_rating (numeric) ユーザーによる平均評価で、使用される尺度はWebページによる comment_count (numeric) 動画のコメント数 age_limit (numeric) 動画の年齢制限 (年) is_live (boolean) このビデオがライブストリームか固定長ビデオかどうか start_time (numeric) URLで指定されている、再生を開始する時間(秒) end_time (numeric) URLで指定されている、再生を終了する時間(秒) format (string) 形式の人間が読める説明 format_id (string) --format で指定されたフォーマットコード format_note (string) フォーマットに関する追加情報 width (numeric) ビデオの幅 height (numeric) ビデオの高さ resolution (string) 幅と高さのテキストによる説明 tbr (numeric) オーディオとビデオの平均ビットレート (KBit/s) abr (numeric) 平均オーディオビットレート (KBit/s) acodec (string) 使用中のオーディオコーデックの名前 asr (numeric) オーディオサンプリングレート (ヘルツ) vbr (numeric) 平均ビデオビットレート (KBit/s) fps (numeric) フレームレート vcodec (string) 使用中のビデオコーデックの名前 container (string) コンテナ形式の名前 filesize (numeric) 事前にわかっている場合、バイト数 filesize_approx (numeric) バイト数の見積もり protocol (string) 実際のダウンロードに使用されるだろうプロトコル extractor (string) 抽出機能の名前 extractor_key (string) 抽出機能のキー名 epoch (numeric) ファイル作成時のUnixエポック autonumber (numeric) 0から始まり、ダウンロードごとに増える5桁の数字 playlist (string) 動画を含むプレイリストの名前またはID playlist_index (numeric) プレイリストの全長に応じて先行ゼロで詰められたプレイリスト内のビデオのインデックス playlist_id (string) プレイリスト識別子 playlist_title (string) プレイリストのタイトル playlist_uploader (string) プレイリストアップローダーのフルネーム playlist_uploader_id (string) プレイリストアップローダーのニックネームまたはID Available for the video that belongs to some logical chapter or section chapter (string) Name or title of the chapter the video belongs to chapter_number (numeric) Number of the chapter the video belongs to chapter_id (string) Id of the chapter the video belongs to Available for the video that is an episode of some series or programme series (string) Title of the series or programme the video episode belongs to season (string) Title of the season the video episode belongs to season_number (numeric) Number of the season the video episode belongs to season_id (string) Id of the season the video episode belongs to episode (string) Title of the video episode episode_number (numeric) Number of the video episode within a season episode_id (string) Id of the video episode Available for the media that is a track or a part of a music album track (string) Title of the track track_number (numeric) Number of the track within an album or a disc track_id (string) Id of the track artist (string) Artist(s) of the track genre (string) Genre(s) of the track album (string) Title of the album the track belongs to album_type (string) Type of the album album_artist (string) List of all artists appeared on the album disc_number (numeric) Number of the disc or other physical medium the track belongs to release_year (numeric) Year (YYYY) when the album was released Each aforementioned sequence when referenced in an output template will be replaced by the actual value corresponding to the sequence name. Note that some of the sequences are not guaranteed to be present since they depend on the metadata obtained by a particular extractor. Such sequences will be replaced with NA. For example for -o %(title)s-%(id)s.%(ext)s and an mp4 video with title youtube-dl test video and id BaW_jenozKcj, this will result in a youtube-dl test video-BaW_jenozKcj.mp4 file created in the current directory. For numeric sequences you can use numeric related formatting, for example, %(view_count)05d will result in a string with view count padded with zeros up to 5 characters, like in 00042. Output templates can also contain arbitrary hierarchical path, e.g. -o %(playlist)s/%(playlist_index)s - %(title)s.%(ext)s which will result in downloading each video in a directory corresponding to this path template. Any missing directory will be automatically created for you. To use percent literals in an output template use %%. To output to stdout use -o -. The current default template is %(title)s-%(id)s.%(ext)s. In some cases, you don t want special characters such as 中, spaces, or , such as when transferring the downloaded filename to a Windows system or the filename through an 8bit-unsafe channel. In these cases, add the --restrict-filenames flag to get a shorter title Output template and Windows batch files If you are using an output template inside a Windows batch file then you must escape plain percent characters (%) by doubling, so that -o %(title)s-%(id)s.%(ext)s should become -o %%(title)s-%%(id)s.%%(ext)s . However you should not touch % s that are not plain characters, e.g. environment variables for expansion should stay intact -o C \%HOMEPATH%\Desktop\%%(title)s.%%(ext)s . Output template examples Note that on Windows you may need to use double quotes instead of single. $ youtube-dl --get-filename -o %(title)s.%(ext)s BaW_jenozKc youtube-dl test video _ä↭𝕐.mp4 # All kinds of weird characters $ youtube-dl --get-filename -o %(title)s.%(ext)s BaW_jenozKc --restrict-filenames youtube-dl_test_video_.mp4 # A simple file name # Download YouTube playlist videos in separate directory indexed by video order in a playlist $ youtube-dl -o %(playlist)s/%(playlist_index)s - %(title)s.%(ext)s https //www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re # Download all playlists of YouTube channel/user keeping each playlist in separate directory $ youtube-dl -o %(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s https //www.youtube.com/user/TheLinuxFoundation/playlists # Download Udemy course keeping each chapter in separate directory under MyVideos directory in your home $ youtube-dl -u user -p password -o ~/MyVideos/%(playlist)s/%(chapter_number)s - %(chapter)s/%(title)s.%(ext)s https //www.udemy.com/java-tutorial/ # Download entire series season keeping each series and each season in separate directory under C /MyVideos $ youtube-dl -o C /MyVideos/%(series)s/%(season_number)s - %(season)s/%(episode_number)s - %(episode)s.%(ext)s https //videomore.ru/kino_v_detalayah/5_sezon/367617 # Stream the video being downloaded to stdout $ youtube-dl -o - BaW_jenozKc FORMAT SELECTION By default youtube-dl tries to download the best available quality, i.e. if you want the best quality you don t need to pass any special options, youtube-dl will guess it for you by default. But sometimes you may want to download in a different format, for example when you are on a slow or intermittent connection. The key mechanism for achieving this is so-called format selection based on which you can explicitly specify desired format, select formats based on some criterion or criteria, setup precedence and much more. The general syntax for format selection is --format FORMAT or shorter -f FORMAT where FORMAT is a selector expression, i.e. an expression that describes format or formats you would like to download. tl;dr navigate me to examples. 最も単純なケースは、特定のフォーマットを要求すること、たとえば -f 22 はフォーマットコードが22に等しいフォーマットをダウンロードできます。 --list-formats または -F を使用して、特定のビデオで利用可能なフォーマットコードのリストを取得できます。 これらのフォーマットコードは抽出機能固有であることに注意してください。 You can also use a file extension (currently 3gp, aac, flv, m4a, mp3, mp4, ogg, wav, webm are supported) to download the best quality format of a particular file extension served as a single file, e.g. -f webm will download the best quality format with the webm extension served as a single file. You can also use special names to select particular edge case formats best Select the best quality format represented by a single file with video and audio. worst Select the worst quality format represented by a single file with video and audio. bestvideo Select the best quality video-only format (e.g. DASH video). May not be available. worstvideo Select the worst quality video-only format. May not be available. bestaudio Select the best quality audio only-format. May not be available. worstaudio Select the worst quality audio only-format. May not be available. For example, to download the worst quality video-only format you can use -f worstvideo. If you want to download multiple videos and they don t have the same formats available, you can specify the order of preference using slashes. Note that slash is left-associative, i.e. formats on the left hand side are preferred, for example -f 22/17/18 will download format 22 if it s available, otherwise it will download format 17 if it s available, otherwise it will download format 18 if it s available, otherwise it will complain that no suitable formats are available for download. If you want to download several formats of the same video use a comma as a separator, e.g. -f 22,17,18 will download all these three formats, of course if they are available. Or a more sophisticated example combined with the precedence feature -f 136/137/mp4/bestvideo,140/m4a/bestaudio. You can also filter the video formats by putting a condition in brackets, as in -f best[height=720] (or -f [filesize 10M] ). The following numeric meta fields can be used with comparisons , =, , =, = (equals), != (not equals) filesize The number of bytes, if known in advance width Width of the video, if known height Height of the video, if known tbr Average bitrate of audio and video in KBit/s abr Average audio bitrate in KBit/s vbr Average video bitrate in KBit/s asr Audio sampling rate in Hertz fps Frame rate Also filtering work for comparisons = (equals), ^= (starts with), $= (ends with), *= (contains) and following string meta fields ext File extension acodec Name of the audio codec in use vcodec Name of the video codec in use container Name of the container format protocol The protocol that will be used for the actual download, lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m, ism, http_dash_segments, m3u8, or m3u8_native) format_id A short description of the format Any string comparison may be prefixed with negation ! in order to produce an opposite comparison, e.g. !*= (does not contain). Note that none of the aforementioned meta fields are guaranteed to be present since this solely depends on the metadata obtained by particular extractor, i.e. the metadata offered by the video hoster. Formats for which the value is not known are excluded unless you put a question mark (?) after the operator. You can combine format filters, so -f [height =? 720][tbr 500] selects up to 720p videos (or videos where the height is not known) with a bitrate of at least 500 KBit/s. You can merge the video and audio of two formats into a single file using -f video-format + audio-format (requires ffmpeg or avconv installed), for example -f bestvideo+bestaudio will download the best video-only format, the best audio-only format and mux them together with ffmpeg/avconv. Format selectors can also be grouped using parentheses, for example if you want to download the best mp4 and webm formats with a height lower than 480 you can use -f (mp4,webm)[height 480] . Since the end of April 2015 and version 2015.04.26, youtube-dl uses -f bestvideo+bestaudio/best as the default format selection (see #5447, #5456). If ffmpeg or avconv are installed this results in downloading bestvideo and bestaudio separately and muxing them together into a single file giving the best overall quality available. Otherwise it falls back to best and results in downloading the best available quality served as a single file. best is also needed for videos that don t come from YouTube because they don t provide the audio and video in two different files. If you want to only download some DASH formats (for example if you are not interested in getting videos with a resolution higher than 1080p), you can add -f bestvideo[height =?1080]+bestaudio/best to your configuration file. Note that if you use youtube-dl to stream to stdout (and most likely to pipe it to your media player then), i.e. you explicitly specify output template as -o -, youtube-dl still uses -f best format selection in order to start content delivery immediately to your player and not to wait until bestvideo and bestaudio are downloaded and muxed. If you want to preserve the old format selection behavior (prior to youtube-dl 2015.04.26), i.e. you want to download the best available quality media served as a single file, you should explicitly specify your choice with -f best. You may want to add it to the configuration file in order not to type it every time you run youtube-dl. Format selection examples Note that on Windows you may need to use double quotes instead of single. # Download best mp4 format available or any other best if no mp4 available $ youtube-dl -f bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best # Download best format available but no better than 480p $ youtube-dl -f bestvideo[height =480]+bestaudio/best[height =480] # Download best video only format but no bigger than 50 MB $ youtube-dl -f best[filesize 50M] # Download best format available via direct link over HTTP/HTTPS protocol $ youtube-dl -f (bestvideo+bestaudio/best)[protocol^=http] # Download the best video format and the best audio format without merging them $ youtube-dl -f bestvideo,bestaudio -o %(title)s.f%(format_id)s.%(ext)s Note that in the last example, an output template is recommended as bestvideo and bestaudio may have the same file name. VIDEO SELECTION Videos can be filtered by their upload date using the options --date, --datebefore or --dateafter. They accept dates in two formats Absolute dates Dates in the format YYYYMMDD. Relative dates Dates in the format (now|today)[+-][0-9](day|week|month|year)(s)? Examples # Download only the videos uploaded in the last 6 months $ youtube-dl --dateafter now-6months # Download only the videos uploaded on January 1, 1970 $ youtube-dl --date 19700101 $ # Download only the videos uploaded in the 200x decade $ youtube-dl --dateafter 20000101 --datebefore 20091231 FAQ How do I update youtube-dl? If you ve followed our manual installation instructions, you can simply run youtube-dl -U (or, on Linux, sudo youtube-dl -U). If you have used pip, a simple sudo pip install -U youtube-dl is sufficient to update. If you have installed youtube-dl using a package manager like apt-get or yum, use the standard system update mechanism to update. Note that distribution packages are often outdated. As a rule of thumb, youtube-dl releases at least once a month, and often weekly or even daily. Simply go to https //yt-dl.org to find out the current version. Unfortunately, there is nothing we youtube-dl developers can do if your distribution serves a really outdated version. You can (and should) complain to your distribution in their bugtracker or support forum. As a last resort, you can also uninstall the version installed by your package manager and follow our manual installation instructions. For that, remove the distribution s package, with a line like sudo apt-get remove -y youtube-dl Afterwards, simply follow our manual installation instructions sudo wget https //yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl hash -r Again, from then on you ll be able to update with sudo youtube-dl -U. youtube-dl is extremely slow to start on Windows Add a file exclusion for youtube-dl.exe in Windows Defender settings. I m getting an error Unable to extract OpenGraph title on YouTube playlists YouTube changed their playlist format in March 2014 and later on, so you ll need at least youtube-dl 2014.07.25 to download all YouTube videos. If you have installed youtube-dl with a package manager, pip, setup.py or a tarball, please use that to update. Note that Ubuntu packages do not seem to get updated anymore. Since we are not affiliated with Ubuntu, there is little we can do. Feel free to report bugs to the Ubuntu packaging people - all they have to do is update the package to a somewhat recent version. See above for a way to update. I m getting an error when trying to use output template error using output template conflicts with using title, video ID or auto number Make sure you are not using -o with any of these options -t, --title, --id, -A or --auto-number set in command line or in a configuration file. Remove the latter if any. Do I always have to pass -citw? By default, youtube-dl intends to have the best options (incidentally, if you have a convincing case that these should be different, please file an issue where you explain that). Therefore, it is unnecessary and sometimes harmful to copy long option strings from webpages. In particular, the only option out of -citw that is regularly useful is -i. Can you please put the -b option back? Most people asking this question are not aware that youtube-dl now defaults to downloading the highest available quality as reported by YouTube, which will be 1080p or 720p in some cases, so you no longer need the -b option. For some specific videos, maybe YouTube does not report them to be available in a specific high quality format you re interested in. In that case, simply request it with the -f option and youtube-dl will try to download it. I get HTTP error 402 when trying to download a video. What s this? Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We re considering to provide a way to let you solve the CAPTCHA, but at the moment, your best course of action is pointing a web browser to the youtube URL, solving the CAPTCHA, and restart youtube-dl. Do I need any other programs? youtube-dl works fine on its own on most sites. However, if you want to convert video/audio, you ll need avconv or ffmpeg. On some sites - most notably YouTube - videos can be retrieved in a higher quality format without sound. youtube-dl will detect whether avconv/ffmpeg is present and automatically pick the best option. Videos or video formats streamed via RTMP protocol can only be downloaded when rtmpdump is installed. Downloading MMS and RTSP videos requires either mplayer or mpv to be installed. I have downloaded a video but how can I play it? Once the video is fully downloaded, use any video player, such as mpv, vlc or mplayer. I extracted a video URL with -g, but it does not play on another machine / in my web browser. It depends a lot on the service. In many cases, requests for the video (to download/play it) must come from the same IP address and with the same cookies and/or HTTP headers. Use the --cookies option to write the required cookies into a file, and advise your downloader to read cookies from that file. Some sites also require a common user agent to be used, use --dump-user-agent to see the one in use by youtube-dl. You can also get necessary cookies and HTTP headers from JSON output obtained with --dump-json. It may be beneficial to use IPv6; in some cases, the restrictions are only applied to IPv4. Some services (sometimes only for a subset of videos) do not restrict the video URL by IP address, cookie, or user-agent, but these are the exception rather than the rule. Please bear in mind that some URL protocols are not supported by browsers out of the box, including RTMP. If you are using -g, your own downloader must support these as well. If you want to play the video on a machine that is not running youtube-dl, you can relay the video content from the machine that runs youtube-dl. You can use -o - to let youtube-dl stream a video to stdout, or simply allow the player to download the files written by youtube-dl in turn. ERROR no fmt_url_map or conn information found in video info YouTube has switched to a new video info format in July 2011 which is not supported by old versions of youtube-dl. See above for how to update youtube-dl. ERROR unable to download video YouTube requires an additional signature since September 2012 which is not supported by old versions of youtube-dl. See above for how to update youtube-dl. Video URL contains an ampersand and I m getting some strange output [1] 2839 or v is not recognized as an internal or external command That s actually the output from your shell. Since ampersand is one of the special shell characters it s interpreted by the shell preventing you from passing the whole URL to youtube-dl. To disable your shell from interpreting the ampersands (or any other special characters) you have to either put the whole URL in quotes or escape them with a backslash (which approach will work depends on your shell). For example if your URL is https //www.youtube.com/watch?t=4 v=BaW_jenozKc you should end up with following command youtube-dl https //www.youtube.com/watch?t=4 v=BaW_jenozKc or youtube-dl https //www.youtube.com/watch?t=4\ v=BaW_jenozKc For Windows you have to use the double quotes youtube-dl https //www.youtube.com/watch?t=4 v=BaW_jenozKc ExtractorError Could not find JS function u OF In February 2015, the new YouTube player contained a character sequence in a string that was misinterpreted by old versions of youtube-dl. See above for how to update youtube-dl. HTTP Error 429 Too Many Requests or 402 Payment Required These two error codes indicate that the service is blocking your IP address because of overuse. Usually this is a soft block meaning that you can gain access again after solving CAPTCHA. Just open a browser and solve a CAPTCHA the service suggests you and after that pass cookies to youtube-dl. Note that if your machine has multiple external IPs then you should also pass exactly the same IP you ve used for solving CAPTCHA with --source-address. Also you may need to pass a User-Agent HTTP header of your browser with --user-agent. If this is not the case (no CAPTCHA suggested to solve by the service) then you can contact the service and ask them to unblock your IP address, or - if you have acquired a whitelisted IP address already - use the --proxy or --source-address options to select another IP address. SyntaxError Non-ASCII character The error File youtube-dl , line 2 SyntaxError Non-ASCII character \x93 ... means you re using an outdated version of Python. Please update to Python 2.6 or 2.7. What is this binary file? Where has the code gone? Since June 2012 (#342) youtube-dl is packed as an executable zipfile, simply unzip it (might need renaming to youtube-dl.zip first on some systems) or clone the git repository, as laid out above. If you modify the code, you can run it by executing the __main__.py file. To recompile the executable, run make youtube-dl. The exe throws an error due to missing MSVCR100.dll To run the exe you need to install first the Microsoft Visual C++ 2010 Redistributable Package (x86). On Windows, how should I set up ffmpeg and youtube-dl? Where should I put the exe files? If you put youtube-dl and ffmpeg in the same directory that you re running the command from, it will work, but that s rather cumbersome. To make a different directory work - either for ffmpeg, or for youtube-dl, or for both - simply create the directory (say, C \bin, or C \Users\ User name \bin), put all the executables directly in there, and then set your PATH environment variable to include that directory. From then on, after restarting your shell, you will be able to access both youtube-dl and ffmpeg (and youtube-dl will be able to find ffmpeg) by simply typing youtube-dl or ffmpeg, no matter what directory you re in. How do I put downloads into a specific folder? Use the -o to specify an output template, for example -o /home/user/videos/%(title)s-%(id)s.%(ext)s . If you want this for all of your downloads, put the option into your configuration file. How do I download a video starting with a -? Either prepend https //www.youtube.com/watch?v= or separate the ID from the options with -- youtube-dl -- -wNyEUrxzFU youtube-dl https //www.youtube.com/watch?v=-wNyEUrxzFU How do I pass cookies to youtube-dl? Use the --cookies option, for example --cookies /path/to/cookies/file.txt. In order to extract cookies from browser use any conforming browser extension for exporting cookies. For example, cookies.txt (for Chrome) or cookies.txt (for Firefox). Note that the cookies file must be in Mozilla/Netscape format and the first line of the cookies file must be either # HTTP Cookie File or # Netscape HTTP Cookie File. Make sure you have correct newline format in the cookies file and convert newlines if necessary to correspond with your OS, namely CRLF (\r\n) for Windows and LF (\n) for Unix and Unix-like systems (Linux, macOS, etc.). HTTP Error 400 Bad Request when using --cookies is a good sign of invalid newline format. Passing cookies to youtube-dl is a good way to workaround login when a particular extractor does not implement it explicitly. Another use case is working around CAPTCHA some websites require you to solve in particular cases in order to get access (e.g. YouTube, CloudFlare). How do I stream directly to media player? You will first need to tell youtube-dl to stream media to stdout with -o -, and also tell your media player to read from stdin (it must be capable of this for streaming) and then pipe former to latter. For example, streaming to vlc can be achieved with youtube-dl -o - https //www.youtube.com/watch?v=BaW_jenozKcj | vlc - How do I download only new videos from a playlist? Use download-archive feature. With this feature you should initially download the complete playlist with --download-archive /path/to/download/archive/file.txt that will record identifiers of all the videos in a special file. Each subsequent run with the same --download-archive will download only new videos and skip all videos that have been downloaded before. Note that only successful downloads are recorded in the file. For example, at first, youtube-dl --download-archive archive.txt https //www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re will download the complete PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re playlist and create a file archive.txt. Each subsequent run will only download new videos if any youtube-dl --download-archive archive.txt https //www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re Should I add --hls-prefer-native into my config? When youtube-dl detects an HLS video, it can download it either with the built-in downloader or ffmpeg. Since many HLS streams are slightly invalid and ffmpeg/youtube-dl each handle some invalid cases better than the other, there is an option to switch the downloader if needed. When youtube-dl knows that one particular downloader works better for a given website, that downloader will be picked. Otherwise, youtube-dl will pick the best downloader for general compatibility, which at the moment happens to be ffmpeg. This choice may change in future versions of youtube-dl, with improvements of the built-in downloader and/or ffmpeg. In particular, the generic extractor (used when your website is not in the list of supported sites by youtube-dl cannot mandate one specific downloader. If you put either --hls-prefer-native or --hls-prefer-ffmpeg into your configuration, a different subset of videos will fail to download correctly. Instead, it is much better to file an issue or a pull request which details why the native or the ffmpeg HLS downloader is a better choice for your use case. Can you add support for this anime video site, or site which shows current movies for free? As a matter of policy (as well as legality), youtube-dl does not include support for services that specialize in infringing copyright. As a rule of thumb, if you cannot easily find a video that the service is quite obviously allowed to distribute (i.e. that has been uploaded by the creator, the creator s distributor, or is published under a free license), the service is probably unfit for inclusion to youtube-dl. A note on the service that they don t host the infringing content, but just link to those who do, is evidence that the service should not be included into youtube-dl. The same goes for any DMCA note when the whole front page of the service is filled with videos they are not allowed to distribute. A "fair use" note is equally unconvincing if the service shows copyright-protected videos in full without authorization. Support requests for services that do purchase the rights to distribute their content are perfectly fine though. If in doubt, you can simply include a source that mentions the legitimate purchase of content. How can I speed up work on my issue? (Also known as Help, my important issue not being solved!) The youtube-dl core developer team is quite small. While we do our best to solve as many issues as possible, sometimes that can take quite a while. To speed up your issue, here s what you can do First of all, please do report the issue at our issue tracker. That allows us to coordinate all efforts by users and developers, and serves as a unified point. Unfortunately, the youtube-dl project has grown too large to use personal email as an effective communication channel. Please read the bug reporting instructions below. A lot of bugs lack all the necessary information. If you can, offer proxy, VPN, or shell access to the youtube-dl developers. If you are able to, test the issue from multiple computers in multiple countries to exclude local censorship or misconfiguration issues. If nobody is interested in solving your issue, you are welcome to take matters into your own hands and submit a pull request (or coerce/pay somebody else to do so). Feel free to bump the issue from time to time by writing a small comment ("Issue is still present in youtube-dl version ...from France, but fixed from Belgium"), but please not more than once a month. Please do not declare your issue as important or urgent. How can I detect whether a given URL is supported by youtube-dl? For one, have a look at the list of supported sites. Note that it can sometimes happen that the site changes its URL scheme (say, from https //example.com/video/1234567 to https //example.com/v/1234567 ) and youtube-dl reports an URL of a service in that list as unsupported. In that case, simply report a bug. It is not possible to detect whether a URL is supported or not. That s because youtube-dl contains a generic extractor which matches all URLs. You may be tempted to disable, exclude, or remove the generic extractor, but the generic extractor not only allows users to extract videos from lots of websites that embed a video from another service, but may also be used to extract video from a service that it s hosting itself. Therefore, we neither recommend nor support disabling, excluding, or removing the generic extractor. If you want to find out whether a given URL is supported, simply call youtube-dl with it. If you get no videos back, chances are the URL is either not referring to a video or unsupported. You can find out which by examining the output (if you run youtube-dl on the console) or catching an UnsupportedError exception if you run it from a Python program. Why do I need to go through that much red tape when filing bugs? Before we had the issue template, despite our extensive bug reporting instructions, about 80% of the issue reports we got were useless, for instance because people used ancient versions hundreds of releases old, because of simple syntactic errors (not in youtube-dl but in general shell usage), because the problem was already reported multiple times before, because people did not actually read an error message, even if it said "please install ffmpeg", because people did not mention the URL they were trying to download and many more simple, easy-to-avoid problems, many of whom were totally unrelated to youtube-dl. youtube-dl is an open-source project manned by too few volunteers, so we d rather spend time fixing bugs where we are certain none of those simple problems apply, and where we can be reasonably confident to be able to reproduce the issue without asking the reporter repeatedly. As such, the output of youtube-dl -v YOUR_URL_HERE is really all that s required to file an issue. The issue template also guides you through some basic steps you can do, such as checking that your version of youtube-dl is current. DEVELOPER INSTRUCTIONS Most users do not need to build youtube-dl and can download the builds or get them from their distribution. To run youtube-dl as a developer, you don t need to build anything either. Simply execute python -m youtube_dl To run the test, simply invoke your favorite test runner, or execute a test file directly; any of the following work python -m unittest discover python test/test_download.py nosetests See item 6 of new extractor tutorial for how to run extractor specific test cases. If you want to create a build of youtube-dl yourself, you ll need python make (only GNU make is supported) pandoc zip nosetests Adding support for a new site If you want to add support for a new site, first of all make sure this site is not dedicated to copyright infringement. youtube-dl does not support such sites thus pull requests adding support for them will be rejected. After you have ensured this site is distributing its content legally, you can follow this quick list (assuming your service is called yourextractor) このリポジトリをフォークする ソースコードをチェックアウトする git clone git@github.com YOUR_GITHUB_USERNAME/youtube-dl.git 新しいgitブランチを開始する cd youtube-dl git checkout -b yourextractor この単純なテンプレートから始めて、それを youtube_dl/extractor/yourextractor.py に保存します # coding utf-8 from __future__ import unicode_literals from .common import InfoExtractor class YourExtractorIE(InfoExtractor) _VALID_URL = r https? //(? www\.)?yourextractor\.com/watch/(?P id [0-9]+) _TEST = { url https //yourextractor.com/watch/42 , md5 TODO md5 sum of the first 10241 bytes of the video file (use --test) , info_dict { id 42 , ext mp4 , title Video title goes here , thumbnail r re ^https? //.*\.jpg$ , # TODO more properties, either as # * A value # * MD5 checksum; start the string with md5 # * A regular expression; start the string with re # * Any Python type (for example int or float) } } def _real_extract(self, url) video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) # TODO more code goes here, for example ... title = self._html_search_regex(r h1 (.+?) /h1 , webpage, title ) return { id video_id, title title, description self._og_search_description(webpage), uploader self._search_regex(r div[^ ]+id= uploader [^ ]* ([^ ]+) , webpage, uploader , fatal=False), # TODO more properties (see youtube_dl/extractor/common.py) } youtube_dl/extractor/extractors.py にインポートを追加します. python test/test_download.py TestDownload.test_YourExtractor を実行します。 これは最初は失敗するはずですが、完了するまで継続的に再実行できます。 複数のテストを追加する場合は、_TEST の名前を _TESTS に変更して、辞書のリストにします。 その後、テストには TestDownload.test_YourExtractor, TestDownload.test_YourExtractor_1, TestDownload.test_YourExtractor_2 などの名前が付けられます。 テストのdictに only_matching キーを使用したテストはカウントされないことに注意してください。 可能なヘルパーメソッドと、エクストラクターが返す必要があるものと返す可能性のあるものの詳細な説明については、youtube_dl/extractor/common.py をご覧ください。 必要な数のテストとコードを追加します。 コードがyoutube-dl コーディング規則に従っていることを確認し、flake8でコードを確認してください $ flake8 youtube_dl/extractor/yourextractor.py Make sure your code works under all Python versions claimed supported by youtube-dl, namely 2.6, 2.7, and 3.2+. When the tests pass, add the new files and commit them and push the result, like this $ git add youtube_dl/extractor/extractors.py $ git add youtube_dl/extractor/yourextractor.py $ git commit -m [yourextractor] Add new extractor $ git push origin yourextractor Finally, create a pull request. We ll then review and merge it. In any case, thank you very much for your contributions! youtube-dl coding conventions This section introduces a guide lines for writing idiomatic, robust and future-proof extractor code. Extractors are very fragile by nature since they depend on the layout of the source data provided by 3rd party media hosters out of your control and this layout tends to change. As an extractor implementer your task is not only to write code that will extract media links and metadata correctly but also to minimize dependency on the source s layout and even to make the code foresee potential future changes and be ready for that. This is important because it will allow the extractor not to break on minor layout changes thus keeping old youtube-dl versions working. Even though this breakage issue is easily fixed by emitting a new version of youtube-dl with a fix incorporated, all the previous versions become broken in all repositories and distros packages that may not be so prompt in fetching the update from us. Needless to say, some non rolling release distros may never receive an update at all. Mandatory and optional metafields For extraction to work youtube-dl relies on metadata your extractor extracts and provides to youtube-dl expressed by an information dictionary or simply info dict. Only the following meta fields in the info dict are considered mandatory for a successful extraction process by youtube-dl id (media identifier) title (media title) url (media download URL) or formats In fact only the last option is technically mandatory (i.e. if you can t figure out the download location of the media the extraction does not make any sense). But by convention youtube-dl also treats id and title as mandatory. Thus the aforementioned metafields are the critical data that the extraction does not make any sense without and if any of them fail to be extracted then the extractor is considered completely broken. Any field apart from the aforementioned ones are considered optional. That means that extraction should be tolerant to situations when sources for these fields can potentially be unavailable (even if they are always available at the moment) and future-proof in order not to break the extraction of general purpose mandatory fields. Example Say you have some source dictionary meta that you ve fetched as JSON with HTTP request and it has a key summary meta = self._download_json(url, video_id) Assume at this point meta s layout is { ... summary some fancy summary text , ... } Assume you want to extract summary and put it into the resulting info dict as description. Since description is an optional meta field you should be ready that this key may be missing from the meta dict, so that you should extract it like description = meta.get( summary ) # correct and not like description = meta[ summary ] # incorrect The latter will break extraction process with KeyError if summary disappears from meta at some later time but with the former approach extraction will just go ahead with description set to None which is perfectly fine (remember None is equivalent to the absence of data). Similarly, you should pass fatal=False when extracting optional data from a webpage with _search_regex, _html_search_regex or similar methods, for instance description = self._search_regex( r span[^ ]+id= title [^ ]* ([^ ]+) , webpage, description , fatal=False) With fatal set to False if _search_regex fails to extract description it will emit a warning and continue extraction. You can also pass default= some fallback value , for example description = self._search_regex( r span[^ ]+id= title [^ ]* ([^ ]+) , webpage, description , default=None) On failure this code will silently continue the extraction with description set to None. That is useful for metafields that may or may not be present. Provide fallbacks When extracting metadata try to do so from multiple sources. For example if title is present in several places, try extracting from at least some of them. This makes it more future-proof in case some of the sources become unavailable. Example Say meta from the previous example has a title and you are about to extract it. Since title is a mandatory meta field you should end up with something like title = meta[ title ] If title disappears from meta in future due to some changes on the hoster s side the extraction would fail since title is mandatory. That s expected. Assume that you have some another source you can extract title from, for example og title HTML meta of a webpage. In this case you can provide a fallback scenario title = meta.get( title ) or self._og_search_title(webpage) This code will try to extract from meta first and if it fails it will try extracting og title from a webpage. Regular expressions Don t capture groups you don t use Capturing group must be an indication that it s used somewhere in the code. Any group that is not used must be non capturing. Example Don t capture id attribute name here since you can t use it for anything anyway. Correct r (? id|ID)=(?P id \d+) Incorrect r (id|ID)=(?P id \d+) Make regular expressions relaxed and flexible When using regular expressions try to write them fuzzy, relaxed and flexible, skipping insignificant parts that are more likely to change, allowing both single and double quotes for quoted values and so on. Example Say you need to extract title from the following HTML code span style= position absolute; left 910px; width 90px; float right; z-index 9999; class= title some fancy title /span The code for that task should look similar to title = self._search_regex( r span[^ ]+class= title [^ ]* ([^ ]+) , webpage, title ) Or even better title = self._search_regex( r span[^ ]+class=([ \ ])title\1[^ ]* (?P title [^ ]+) , webpage, title , group= title ) Note how you tolerate potential changes in the style attribute s value or switch from using double quotes to single for class attribute The code definitely should not look like title = self._search_regex( r span style= position absolute; left 910px; width 90px; float right; z-index 9999; class= title (.*?) /span , webpage, title , group= title ) Long lines policy There is a soft limit to keep lines of code under 80 characters long. This means it should be respected if possible and if it does not make readability and code maintenance worse. For example, you should never split long string literals like URLs or some other often copied entities over multiple lines to fit this limit Correct https //www.youtube.com/watch?v=FqZTN594JQw list=PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4 Incorrect https //www.youtube.com/watch?v=FqZTN594JQw list= PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4 Inline values Extracting variables is acceptable for reducing code duplication and improving readability of complex expressions. However, you should avoid extracting variables used only once and moving them to opposite parts of the extractor file, which makes reading the linear flow difficult. Example Correct title = self._html_search_regex(r title ([^ ]+) /title , webpage, title ) Incorrect TITLE_RE = r title ([^ ]+) /title # ...some lines of code... title = self._html_search_regex(TITLE_RE, webpage, title ) Collapse fallbacks Multiple fallback values can quickly become unwieldy. Collapse multiple fallback values into a single expression via a list of patterns. Example Good description = self._html_search_meta( [ og description , description , twitter description ], webpage, description , default=None) Unwieldy description = ( self._og_search_description(webpage, default=None) or self._html_search_meta( description , webpage, default=None) or self._html_search_meta( twitter description , webpage, default=None)) Methods supporting list of patterns are _search_regex, _html_search_regex, _og_search_property, _html_search_meta. Trailing parentheses Always move trailing parentheses after the last argument. Example Correct lambda x x[ ResultSet ][ Result ][0][ VideoUrlSet ][ VideoUrl ], list) Incorrect lambda x x[ ResultSet ][ Result ][0][ VideoUrlSet ][ VideoUrl ], list, ) Use convenience conversion and parsing functions Wrap all extracted numeric data into safe functions from youtube_dl/utils.py int_or_none, float_or_none. Use them for string to number conversions as well. Use url_or_none for safe URL processing. Use try_get for safe metadata extraction from parsed JSON. Use unified_strdate for uniform upload_date or any YYYYMMDD meta field extraction, unified_timestamp for uniform timestamp extraction, parse_filesize for filesize extraction, parse_count for count meta fields extraction, parse_resolution, parse_duration for duration extraction, parse_age_limit for age_limit extraction. Explore youtube_dl/utils.py for more useful convenience functions. More examples Safely extract optional description from parsed JSON description = try_get(response, lambda x x[ result ][ video ][0][ summary ], compat_str) Safely extract more optional metadata video = try_get(response, lambda x x[ result ][ video ][0], dict) or {} description = video.get( summary ) duration = float_or_none(video.get( durationMs ), scale=1000) view_count = int_or_none(video.get( views )) EMBEDDING YOUTUBE-DL youtube-dl makes the best effort to be a good command-line program, and thus should be callable from any programming language. If you encounter any problems parsing its output, feel free to create a report. From a Python program, you can embed youtube-dl in a more powerful fashion, like this from __future__ import unicode_literals import youtube_dl ydl_opts = {} with youtube_dl.YoutubeDL(ydl_opts) as ydl ydl.download([ https //www.youtube.com/watch?v=BaW_jenozKc ]) Most likely, you ll want to use various options. For a list of options available, have a look at youtube_dl/YoutubeDL.py. For a start, if you want to intercept youtube-dl s output, set a logger object. Here s a more complete example of a program that outputs only errors (and a short message after the download is finished), and downloads/converts the video to an mp3 file from __future__ import unicode_literals import youtube_dl class MyLogger(object) def debug(self, msg) pass def warning(self, msg) pass def error(self, msg) print(msg) def my_hook(d) if d[ status ] == finished print( Done downloading, now converting ... ) ydl_opts = { format bestaudio/best , postprocessors [{ key FFmpegExtractAudio , preferredcodec mp3 , preferredquality 192 , }], logger MyLogger(), progress_hooks [my_hook], } with youtube_dl.YoutubeDL(ydl_opts) as ydl ydl.download([ https //www.youtube.com/watch?v=BaW_jenozKc ]) BUGS Bugs and suggestions should be reported at https //github.com/ytdl-org/youtube-dl/issues. Unless you were prompted to or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. For discussions, join us in the IRC channel #youtube-dl on freenode (webchat). Please include the full output of youtube-dl when run with -v, i.e. add -v flag to your command line, copy the whole output and post it in the issue body wrapped in ``` for better formatting. It should look similar to this $ youtube-dl -v your command line [debug] System config [] [debug] User config [] [debug] Command-line args [u -v , u https //www.youtube.com/watch?v=BaW_jenozKcj ] [debug] Encodings locale cp1251, fs mbcs, out cp866, pref cp1251 [debug] youtube-dl version 2015.12.06 [debug] Git HEAD 135392e [debug] Python version 2.6.6 - Windows-2003Server-5.2.3790-SP2 [debug] exe versions ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4 [debug] Proxy map {} ... Do not post screenshots of verbose logs; only plain text is acceptable. The output (including the first lines) contains important debugging information. Issues without the full output are often not reproducible and therefore do not get solved in short order, if ever. Please re-read your issue once again to avoid a couple of common mistakes (you can and should use this as a checklist) Is the description of the issue itself sufficient? We often get issue reports that we cannot really decipher. While in most cases we eventually get the required information after asking back multiple times, this poses an unnecessary drain on our resources. Many contributors, including myself, are also not native speakers, so we may misread some parts. So please elaborate on what feature you are requesting, or what bug you want to be fixed. Make sure that it s obvious What the problem is How it could be fixed How your proposed solution would look like If your report is shorter than two lines, it is almost certainly missing some of these, which makes it hard for us to respond to it. We re often too polite to close the issue outright, but the missing info makes misinterpretation likely. As a committer myself, I often get frustrated by these issues, since the only possible way for me to move forward on them is to ask for clarification over and over. For bug reports, this means that your report should contain the complete output of youtube-dl when called with the -v flag. The error message you get for (most) bugs even says so, but you would not believe how many of our bug reports do not contain this information. If your server has multiple IPs or you suspect censorship, adding --call-home may be a good idea to get more diagnostics. If the error is ERROR Unable to extract ... and you cannot reproduce it from multiple countries, add --dump-pages (warning this will yield a rather large output, redirect it to the file log.txt by adding log.txt 2 1 to your command-line) or upload the .dump files you get when you add --write-pages somewhere. Site support requests must contain an example URL. An example URL is a URL you might want to download, like https //www.youtube.com/watch?v=BaW_jenozKc. There should be an obvious video present. Except under very special circumstances, the main page of a video service (e.g. https //www.youtube.com/) is not an example URL. Are you using the latest version? Before reporting any issue, type youtube-dl -U. This should report that you re up-to-date. About 20% of the reports we receive are already fixed, but people are using outdated versions. This goes for feature requests as well. Is the issue already documented? Make sure that someone has not already opened the issue you re trying to open. Search at the top of the window or browse the GitHub Issues of this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue ...". While some issues may be old, a new post into them often spurs rapid activity. Why are existing options not enough? Before requesting a new feature, please have a quick peek at the list of supported options. Many feature requests are for features that actually exist already! Please, absolutely do show off your work in the issue report and detail how the existing similar options do not solve your problem. Is there enough context in your bug report? People want to solve problems, and often think they do us a favor by breaking down their larger problems (e.g. wanting to skip already downloaded files) to a specific request (e.g. requesting us to look whether the file exists before downloading the info page). However, what often happens is that they break down the problem into two steps One simple, and one impossible (or extremely complicated one). We are then presented with a very complicated request when the original problem could be solved far easier, e.g. by recording the downloaded video IDs in a separate file. To avoid this, you must include the greater context where it is non-obvious. In particular, every feature request that does not consist of adding support for a new site should contain a use case scenario that explains in what situation the missing feature would be useful. Does the issue involve one problem, and one problem only? Some of our users seem to think there is a limit of issues they can or should open. There is no limit of issues they can or should open. While it may seem appealing to be able to dump all your issues into one ticket, that means that someone who solves one of your issues cannot mark the issue as closed. Typically, reporting a bunch of issues leads to the ticket lingering since nobody wants to attack that behemoth, until someone mercifully splits the issue into multiple ones. In particular, every site support request issue should only pertain to services at one site (generally under a common domain, but always using the same backend technology). Do not request support for vimeo user videos, White house podcasts, and Google Plus pages in the same issue. Also, make sure that you don t post bug reports alongside feature requests. As a rule of thumb, a feature request does not include outputs of youtube-dl that are not immediately related to the feature at hand. Do not post reports of a network error alongside the request for a new video service. Is anyone going to need the feature? Only post features that you (or an incapacitated friend you can personally talk to) require. Do not post features because they seem like a good idea. If they are really useful, they will be requested by someone who requires them. Is your question about youtube-dl? It may sound strange, but some bug reports we receive are completely unrelated to youtube-dl and relate to a different, or even the reporter s own, application. Please make sure that you are actually using youtube-dl. If you are using a UI for youtube-dl, report the bug to the maintainer of the actual application providing the UI. On the other hand, if your UI for youtube-dl fails in some way you believe is related to youtube-dl, by all means, go ahead and report the bug. COPYRIGHT youtube-dl is released into the public domain by the copyright holders. This README file was originally written by Daniel Bolton and is likewise released into the public domain.
https://w.atwiki.jp/futoyama/pages/45.html
HTTPサーバのApacheに含まれるベンチマークツールで、HTTPクライアントとして動作する。Apacheをインストールしたディレクトリのbinにあるはずです。私が使っているUbuntu10.04では、すでにパッケージになっており、以下でインストールできました。 sudo apt-get install apache2-utils ただし、HTTP1.0準拠のようで、持続的接続などは使えず、リクエストの度に、TCPコネクションのコネクト、切断が発生します。 HTTP Getを行う単純な使い方は以下のとおりです。 ad -n [リクエスト数] -c [多重度(スレッド数)] http //[アクセス先] 例えば100個のHTTP GETを、5個のスレッドで送信すると、以下のようになる。 $ ab -n 100 -c 5 http //localhost 8080/index.html 実際に実行すると以下の結果になる。 Server Software HttpComponents/1.1 Server Hostname localhost Server Port 8080 Document Path /index.html Document Length 100 bytes Concurrency Level 5 Time taken for tests 0.205 seconds -- 全体でかかった時間 Complete requests 100 -- 成功したリクエスト数 Failed requests 0 -- 失敗したリクエスト数 Write errors 0 Total transferred 23000 bytes HTML transferred 10000 bytes Requests per second 487.25 [#/sec] (mean) -- 1秒間の平均リクエスト数(スループット) Time per request 10.262 [ms] (mean) -- 1リクエストにかかった平均時間(レスポンス) Time per request 2.052 [ms] (mean, across all concurrent requests) -- 多重時に、リクエストを送信してから次の送信までの平均時間(でよい?) Transfer rate 109.44 [Kbytes/sec] received -- 1秒間の転送サイズ Connection Times (ms) min mean[+/-sd] median max Connect 0 0 0.2 0 2 Processing 1 10 16.3 5 75 Waiting 1 9 16.0 4 75 Total 1 10 16.4 5 77 Percentage of the requests served within a certain time (ms) 50% 5 -- レスポンス時間の分布(その時間で処理できたリクエストの割合) 66% 7 75% 8 80% 9 90% 29 95% 74 98% 75 99% 77 100% 77 (longest request) その他のオプションの使い方はhelpを見るとだいたいわかります。 $ ab -h Usage ab [options] [http[s] //]hostname[ port]/path Options are -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimit Seconds to max. wait for responses -b windowsize Size of TCP send/receive buffer, in bytes -p postfile File containing data to POST. Remember also to set -T -u putfile File containing data to PUT. Remember also to set -T -T content-type Content-type header for POSTing, eg. application/x-www-form-urlencoded Default is text/plain -v verbosity How much troubleshooting info to print -w Print out results in HTML tables -i Use HEAD instead of GET -x attributes String to insert as table attributes -y attributes String to insert as tr attributes -z attributes String to insert as td or th attributes -C attribute Add cookie, eg. Apache=1234. (repeatable) -H attribute Add Arbitrary header line, eg. Accept-Encoding gzip Inserted after all normal header lines. (repeatable) -A attribute Add Basic WWW Authentication, the attributes are a colon separated username and password. -P attribute Add Basic Proxy Authentication, the attributes are a colon separated username and password. -X proxy port Proxyserver and port number to use -V Print version number and exit -k Use HTTP KeepAlive feature -d Do not show percentiles served table. -S Do not show confidence estimators and warnings. -g filename Output collected data to gnuplot format file. -e filename Output CSV file with percentages served -r Don t exit on socket receive errors. -h Display usage information (this message) -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) -f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL) 名前 コメント
https://w.atwiki.jp/nihongodocuments/pages/20.html
Home » Admin and Setup » Installing the database Installing the Database This document attempts to provide information for both experienced and novice users alike. If the command line is your preference, we have command line examples for you to follow. There are also simple GUI approaches, as described in the pgAdmin section. And if all you want is a quick install for demo purposes, then check out our automated installers information. For additional information, you might also read Perry Clark s blog post "Installing PostBooks... the long way." Quick Overview This quick overview assumes you are not using one of the automated installers. Download and extract the xTuple ERP client application to a local directory Download and install PostgreSQL Initialize PostgreSQL for xTuple (This simply means adding the super user admin and the group xtrole .) Create a database using UTF-8 encoding Download and restore an xTuple database on your new database Automated Installers Automated installers are currently available for PostBooks on Windows and Mac. You can download the installers from the PostBooks project pages on SourceForge. The installers are perfect for users interested in demo-ing the product. When you run the installer, everything is handled for you Installs (and starts) PostrgreSQL Loads a demo PostBooks database Installs the PostBooks client Enterprise users should not rely on the installer for their production systems. Instead, install production databases manually as described in this document. The reason for this is that the installers make certain assumptions which may not be recommended for production environments. PostgreSQL Considerations Before you can start using xTuple ERP, you must first have PostgreSQL 8.1.x or later installed and properly configured. Also make sure to check the SupportedPostgresVersions page for the latest details on which PostgreSQL version will work best with your xTuple ERP version. For information related to easy database administration using the open source tool pgAdmin, please see the pgAdmin section below. And for additional information related to installing PostgreSQL, please visit www.postgresql.org where you will find in-depth documentation and other resources related to PostgreSQL. xTuple ERP uses encryption for credit card processing--and because of this, the PostgreSQL "pgcrypto" module is required to support encryption in xTuple ERP. You should be sure to include the pgcrypto module when installing PostgreSQL. If you do not, you will encounter errors. Detailed Instructions The following paragraphs detail the steps (long version) required to both initialize your PostgreSQL instance to support the xTuple Database and load the database schema. To skip these details, see the (short version) Command Line Examples section below. Or skip to the pgAdmin section below to learn about initializing and loading your database using pgAdmin, a free GUI database administration tool. Once you have the PostgreSQL server running, the next step is to establish the user admin and the group xtrole on your PostgreSQL instance. This is done by executing the init.sql script, which is available in the downloads area. The complete text of the init.sql file is as follows -- ** PLEASE NOTE, THE GROUP ROLE IS NOW xtrole , not openmfg -- This script creates the group xtrole and the user admin -- -- -- Create the xtrole group CREATE GROUP xtrole; -- -- Create the admin user with createdb and createuser -- permissions. Place the user in the xtrole group and -- set the password to the default of admin. -- CREATE USER admin WITH PASSWORD admin CREATEDB CREATEUSER IN GROUP xtrole; -- End of init.sql If you are initializing the database server instance from the command line, the init.sql script must be loaded by the postgres superuser. This is not required if you are using pgAdmin to initialize the database server. Please also note that since the default password the admin user is "admin," you ll want to change it immediately. You may create a different admin user with a different name if you choose to. However, do this with caution as all documentation examples refer to the default admin user. When you have finished executing the init.sql script, you should next create a new PostgreSQL database to contain the xTuple Database schema. Use UTF-8 encoding when creating the database. You can name the database anything you want. Shorter names that are easy to remember are preferred. Once the database has been created, you are ready to load the xTuple schema into it. There are several starter schema to choose from, including the following empty.backup - This is an empty database with no data, but all the tables and structures created. quickstart.backup - This database contains a basic Chart of Accounts and also the Account Assignments required to run the full range of transactions. demo.backup - This database (if available) contains a suite of sample data built on top of the quickstart database Like the init.sql script, the database schema can be loaded on the command line. Alternately, you may use GUI tools like pgAdmin III to execute the script and load the schema. For information on loading the databases using pgAdmin, please see the pgAdmin section below. The .backup format of the xTuple Database schemas is a compressed format used by the pg_restore binary. This format may be loaded seamlessly using pgAdmin. To load a .backup file using pgAdmin, connect to the database you created. Right-click on the database object and select the option Restore . On the resulting screen, use the ellipses to navigate to the location of the .backup file on your local machine. With the .backup file selected, simply click OK. To learn more about the psql utility or the pgAdmin application, please consult the PostgreSQL documentation. Command Line Examples The following examples demonstrate the steps needed to initialize, create, and load an xTuple Database. You may give the database you create any name which does not conflict with the rules for naming PostgreSQL databases. However, we recommend that you choose a simple name with all lowercase characters. For example, we have used a database named production in the following example. With a clean PostgreSQL instance installed, you can use the following commands to get started psql -U postgres -f init.sql template1 createdb -U admin production pg_restore -U admin -d production quickstart.backup -v The first command line example uses the psql utility to load the init.sql script. This script creates the user admin and the group xtrole . The first option ( -U postgres ) tells the system to connect as the postgres user. This user is typically the default PostgreSQL superuser. The next option ( -f init.sql ) tells psql to read the init.sql script and execute the commands. The last option ( template1 ) tells psql which database to connect to. You are not required to run the init.sql script against the template1 database. You may also run it against another database you create. Also In newer versions of PostgreSQL, the postgres database is the new default template. By default, the init.sql script will create the admin user with the password of "admin". You should be sure to change the password once you have your xTuple system installed and running. The second command line example uses createdb to create a new database. Notice that this command uses the same first two options as used in the psql command to specify the user to connect as. Note that now we are using the option -U admin to indicate we want to connect as the admin user created previously. The last option is the name of the new database we want to create (e.g., production ). The third command line example loads the schema for the xTuple quickstart Database. The .backup file format is a compressed format and is used by the pg_restore binary. The -d switch enables you to specify the database into which the restore will be performed (i.e., the production database in this example.) Next, we specify the name of the .backup file with the path to its location if necessary. Finally, we specify -v for verbose output. It is important to keep in mind that if you configured PostgreSQL to listen on a port other than the default port of 5432, you will need to specify this with -p XXXX where XXXX is the port number. If you want a .sql file instead of a .backup, you can easily do this using pg_restore, as follows pg_restore -f quickstart.sql quickstart.backup This example says use pg_restore to create a file called quickstart.sql from the file called quickstart.backup . This completes the command line examples section. Using pgAdmin To Get Started pgAdmin is a free, cross-platform GUI tool for administering PostgreSQL databases. In this section we assume you have PostgreSQL already installed on your system. The following screenshots and narrative describe how to get xTuple ERP running on your PostgreSQL server. We will describe how to accomplish two main objectives Configuring PostgreSQL for xTuple Loading the xTuple database(s) Configuring for xTuple Since you already have PostgreSQL installed, the first thing to do is initialize the server so xTuple databases will run successfully on it. While that last sentence may sound complicated, the reality is you only have to do the following things Link pgAdmin to your PostgreSQL server Create a group called "xtrole" Create a user "admin" Put the user "admin" in the group "xtrole" This section assumes you installed PostgreSQL on your local drive (a.k.a. "localhost" or "127.0.0.1"). Okay, so the first thing to do is to create a link between your pgAdmin application and your PostgreSQL database. If that link already exists, then you can skip this step. But if not, simply select the "File" menu option and then select the "Add Server" option. Add New Server When you are presented with the new server screen, enter the information as it s shown in the next screenshot. You have flexibility in some of the options you choose. However, the following must be used Host = localhost or 127.0.0.1 Port = 5432 Username = postgres Password = Password used for postgres user when you installed PostgreSQL Server Definition Once you have the connection between pgAdmin and PostgreSQL completed, the next step is to configure PostgreSQL so xTuple databases will run successfully on it. The first thing to do then is to create the "xtrole" group. By right-clicking on the Group Roles section, you can select the "New Group Role" option. Group Roles When creating the new group role for "xtrole", you only need to enter a minimal amount of information. Enter the same information as it s shown in the next screenshot. The Role name should be lower case. And the only Role Privilege you need is "Inherits rights from parent roles". That s it. No password required. And you don t have to add any information under the other tabs that are shown. Group Role for xtrole Now that you have the "xtrole" group role define, the next step is to create the "admin" user and place the user in the group "xtrole". The next screenshot shows how you can access the screen for creating a new login role. Login Roles The screen for creating a login role for "admin" looks similar to the screen we saw before for creating the "xtrole" group. However, this time we will need to add more information--and select more options. You have some flexibility over some of the options you choose, but the following should be the same as shown in the screenshot Role name = admin Role Privileges = Select all If you don t need the account to expire at a certain point, then just leave the expiration date blank. That will keep the account open indefinitely. Login Role for admin User Once the "admin" user s properties have been defined, select the Role membership tab. It s on this screen you make the user "admin" a member of the group "xtrole". The following screenshot shows the end result of this action. By using the double arrows " " you can move "admin" from not being a member in "openmfg" to being a member in "openmfg". Admin in Group xtrole And that s all you need to initialize PostgreSQL for xTuple. You can now load xTuple ERP databases onto the server and connect to them using your xTuple ERP client application. Creating New Database The last getting started step is to create a database and load (i.e., restore) an xTuple ERP backup file into it. The next screenshot shows how right-clicking on the "Databases" element enables you to access the "New Database" option. List of Databases You can name your database anything you want to. In our example we will be calling our new database "dbTest". When you are creating a new database with pgAdmin, be sure to use the following values, as shown in the screenshot Owner = admin Encoding = UTF8 Template = template1 You can leave everything else with the default values pgAdmin gives you. And there s no need to enter additional information under any of the other tabs. Create New Database The database we just created now appears in the list of databases, as you can see in the next screenshot. Our final step is now to load an xTuple database backup file into the database we created. For the purposes of this example, we will assume you have already downloaded the database backup file from either the PostBooks site on SourceForge--or from the xTuple website (Standard and Manufacturing Editions only). Restoring from Backup File As the next screenshot shows, we can reach the "Restore" option by right-clicking on the new database we just created. The "Restore" option is the one we need to load the xTuple .backup file. Restore Backup File The Restore screen looks just like the next screenshot. All you have to do here is Browse your computer for the xTuple .backup file you downloaded Select it the .backup file so the path to it appears in the "Filename" field You should leave the other options not-selected--except for the last one, which will give you more verbose messaging during the load process (this can be helpful). And then simply select the OK button to begin the restore process. Begin Restore BeginRestore.png Don t worry if the restore takes several minutes to complete. This is normal. At the end of the process you will see log messages which look like those shown in the following screenshot. Depending on the circumstances of your PostgreSQL installation (e.g., whether previous databases have been installed there, etc.), the messages pgAdmin reports may vary. The ideal scenario on a fresh PostgreSQL install is for 0 errors to be reported and an exit code = 0. However, as the next screenshot shows, pgAdmin may report a number of errors and a non-zero exit code. If this is the result you get, don t be alarmed. Simply review the list of errors by using the scroll bar in the "Restore Database" screen. Scroll to the top and review the list of errors which were reported. Most if not all of the errors you get can safely be ignored. Here are some examples of error messages which can safely be ignored. The first error reports that the PostgreSQL procedural language plpgsql is already installed--and so it does not need to be restored pg_restore creating PROCEDURAL LANGUAGE plpgsql pg_restore [archiver (db)] Error while PROCESSING TOC pg_restore [archiver (db)] Error from TOC entry 2121; 2612 48797691 PROCEDURAL LANGUAGE plpgsql pg_restore [archiver (db)] could not execute query ERROR language "plpgsql" already exists Command was CREATE PROCEDURAL LANGUAGE plpgsql; Likewise, you may see other messages such as the following two, which both indicate functionality already exists and does not need to be restored from the .backup file Example 1 pg_restore [archiver (db)] Error from TOC entry 18; 1255 7469922 FUNCTION armor(bytea) admin pg_restore [archiver (db)] could not execute query ERROR function "armor" already exists with same argument types Command was CREATE FUNCTION armor(bytea) RETURNS text AS $libdir/pgcrypto , pg_armor LANGUAGE c IMMUTABLE STRICT; Example 2 pg_restore [archiver (db)] Error from TOC entry 20; 1255 7470043 FUNCTION crypt(text, text) admin pg_restore [archiver (db)] could not execute query ERROR function "crypt" already exists with same argument types Command was CREATE FUNCTION crypt(text, text) RETURNS text AS $libdir/pgcrypto , pg_crypt LANGUAGE c IMMUTABLE STRICT; In short, you should review any error messages you get when restoring an xTuple database backup file. However, in many cases the errors that are being reported can safely be ignored. Use your common sense when reviewing error messages. If you come across an error message which concerns you, search the xTuple forums to see if others have been concerned about the same thing. Quite often others in the community will have seen the same errors you are concerned about. Once the restore is completed, select the OK button. Restore Complete To see that the restore operation loaded the xTuple database successfully, simply refresh your pgAdmin view. Then expand the new database element to see the xTuple schema (i.e., tables, functions, etc.) listed under the Schema element. The following screenshot shows the "api" and "public" schema found in every xTuple database. Database Schema Loaded Successfully So that s all you have to do. Now simply locate your xTuple client application and open it up. Then use the following login options Server = localhost or 127.0.0.1 Database = dbTest (or whatever you named yours) Port = 5432 Username = admin Password = admin You can use the same steps described above to add more databases to your PostgreSQL server. However, if you are running a production database, we recommend that you run only the production database on the server--and don t load other databases onto the same PostgreSQL instance.
https://w.atwiki.jp/monopowers/pages/65.html
メニュー // // named.caching-nameserver.conf // // Provided by Red Hat caching-nameserver package to configure the // ISC BIND named(8) DNS server as a caching only nameserver // (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // // DO NOT EDIT THIS FILE - use system-config-bind or an editor // to create named.conf - edits to this file will be lost on // caching-nameserver package upgrade. // acl my-network { 127.0.0.1/32; 固定IPアドレス/32; }; options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-transfer { セカンダリサーバIPアドレス; }; recursion yes; version "BIND on MyDomain-JP"; }; //認証キー設定 include "/etc/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; }; }; zone "." { type hint; file "named.ca"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "localhost.zone"; }; zone "ドメイン名" { type master; file "ドメイン名.zone"; allow-query { any; }; };
https://w.atwiki.jp/hondashi/pages/64.html
設定ファイルを使うと起動時に便利です。 自分でテキストファイルを作って、下のようにOverviewer起動時の引数で指定します。 overviewer.py --config=path/to/my_configfile 設定ファイルはPythonの構文規則に乗っています。 Pythonを知らなくても心配入りません、とてもシンプルです。 以下のサンプルに従うだけです。 シンプルな例 worlds["My world"] = "/home/username/server/world" renders["normalrender"] = { "world" "My world", "title" "Normal Render of My World", } outputdir = "/home/username/mcmap" この記述では、一つのワールドから一つレンダリングします。 2つのセクションが見てわかると思います。 ※予備知識:下に出てくる"dictionary"(辞書、ディクショナリ)とはPythonで使われるオブジェクトのこと。 詳しく知りたい人はググるべし。 https //www.google.co.jp/search?q=Python+dictionary 文字数少ないので以下"辞書"で The worlds dictionary ここではworlds辞書で"My world"にワールドデータのパス(level.datがあるディレクトリ)を指定してます。 "My world"というキーは好きなものに変えても大丈夫です。変数みたいなものですね。 後でrenders辞書のところで使うことになります。 ネザーや複数ワールドがある場合は複数のworlds辞書を記述する必要があります。 The renders dictionary renders辞書では一つのワールドから一つのディメンジョンをオプションを与えてレンダリングします。 renders辞書を複数記述すると、出来上がったマップを見た時にドロップボックスで選ぶ事ができるようになります。 複数のワールドをレンダリングしたり、同じワールドを違うオプションを付けてレンダリングしたりできます。 ちょっと複雑な例 worlds["survival"] = "/home/username/server/survivalworld" worlds["creative"] = "/home/username/server/creativeworld" renders["survivalday"] = { "world" "survival", "title" "Survival Daytime", "rendermode" smooth_lighting, "dimension" "overworld", } renders["survivalnight"] = { "world" "survival", "title" "Survival Nighttime", "rendermode" smooth_night, "dimension" "overworld", } renders["survivalnether"] = { "world" "survival", "title" "Survival Nether", "rendermode" nether_smooth_lighting, "dimension" "nether", } renders["creative"] = { "world" "creative", "title" "Creative", "rendermode" smooth_lighting, "dimension" "overworld", } outputdir = "/home/username/mcmap" texturepath = "/home/username/my_texture_pack.zip" この例では4つのマップをレンダリングします。 サバイバルの通常ワールドの昼夜、同ワールドのネザー、クリエイティブモードワールドの4つです。 それぞれディメンジョンを明示的に設定しています。 もし設定しなければデフォルトで通常ワールド(overworld)が使われます。 例えばネザーをレンダリングする時は必要になります。 また、rendermodeも違ったものを指定しています。 rendermodeとはどのようにレンダリングするかです。 Overviewerは様々な方法でレンダリング出来、沢山のプリセットがあります。 modeを任意で作成することもできます。 最後に、texturepathオプションを使っていますね。 レンダリングに使うテクスチャパックを指定します。 設定ファイル内の最上位で指定していることに注目、こうすることで全てのレンダリングに適用できます。 それぞれのrendersの中で指定することで、個別に指定することもできます。 動的な設定ファイル 動的にパラメータを取得できると便利です。 例えば、定期的に日付フォルダにバックアップを取りたい場合、その都度設定を変えなくても良い書き方があります。 下の例のように、環境変数を使うことで簡単に日付を取得出来ます。 この例はbashスクリプトからOverviewerを呼び出していますが、その他のシェルスクリプトや言語でも可能です。 起動用のbashスクリプト #!/bin/bash ## Add these lines to your bash script # Setting up an environment variable that child processes will inherit. # In this example, the map s path is not static and depends on the # previously set $timestamp var. MYWORLD_DIR=/path/to/map/backup/$timestamp/YourWorld export MYWORLD_DIR # Running the Overviewer overviewer.py --config=/path/to/yourConfig.py 設定ファイルyourConfig.pyの中身 ## A config file example # Importing the os python module import os # Retrieving the environment variable set up by the bash script worlds["My world"] = os.environ[ MYWORLD_DIR ] renders["normalrender"] = { "world" "My world", "title" "Normal Render of My World", } outputdir = "/home/username/mcmap" 設定ファイルの書式 設定ファイルはPythonのexecfile()で読み込めるような書式であれば、どんな処理を入れても構いません。 実行時に幾つかの(overviewer_core.rendermodesモジュールで定義された)ローカル辞書を与えます。 上のことがよく分からなければ、"key = value"という書式だけ覚えておけば良いです。 2つだけ違う書式のものがあり、"worlds"と"renders"です。 worlds 事前に空(から)の辞書として定義されていて、少なくとも1つ設定しなければなりません。 worldのパス(level.datのあるディレクトリ)を指定し、renders辞書で使用します。 例 worlds[ myworld ] = "/path/to/myworld" 少なくとも一つワールドを指定しなければなりません renders 事前に空(から)の辞書として定義されていて、少なくとも1つ設定しなければなりません。 Key(下の例の myrender )はjavascriptでレンダリングするときの識別子、及びタイルファイルを作るフォルダ名になり、設定必須です。 そのため、文字列はスペースや特殊文字無しのアルファベットのみにすべきです。 Valueはレンダリングの設定を決めます。 設定名 設定値,設定名; 設定値,… keyとvalueは下のレンダー辞書キーのセクションで。 例 renders[ myrender ] = { world myworld , title Minecraft Server Title , } 少なくとも一つレンダーを指定しなければなりません outputdir = " output directory path " レンダリングした画像を出力するディレクトリです 例 outputdir = "/path/to/output" 必須 processes = num_procs レンダリング時に動作するCPUコア数を指定する、指定しなければ全部使おうとする 起動時の--processes,-p オプションでも指定可 例 processes = 2 observer = observer object レンダリングの過程をどのように報告するかを設定します。 デフォルトで、プログレスバーを表示し、Windows以外では標準エラー出力をファイルにリダイレクトします。 大抵の人はデフォルトでOKですが、(Webサービス等のために)独自の報告を出したい人は特定のオブザーバを指定しましょう。 もし手動でオブザーバを指定したければ下のように記述してみましょう from observer import ProgressBarObserver() observer = ProgressBarObserver() 利用できるオブザーバには以下の3つの種類があります。 LoggingObserver 標準的で古いスタイルの出力で、出力をファイルにリダイレクトした時やWindowsで起動した時のデフォルトです。 ProgressBarObserver ターミナルで起動時のデフォルトで、テキストベースのプログレスバーや状態を表示します。 JSObserver(outputdir[, minrefresh][, messages]) 画面の右下に出力過程を表示します。 outputdir=" output_directory_path"Overviewerの出力ディレクトリです。outputdirと書いておいて、あとでoutputdir = " output directory path "と1行書くのがシンプルです。必須 minrefresh= seconds 情報をファイルに書き込んだり、ブラウザからリクエストされる最小の間隔 messages=dict(totalTiles= string ,renderCompleted= string ,renderProgress= string )表示されるメッセージをカスタムする。3つのメッセージは以下のように定義されてます。totalTiles="Rendering %d tiles" dにはレンダリング済みのタイル数が代入されます。 renderCompleted="Render completed in %02d %02d %02d" レンダリングにどれだけ時間がかかるか。代入値は順に時間・分・秒 renderProgress="Rendered %d of %d tiles (%d%%)" 順にレンダリング済みタイル数、総タイル数、完成割合(単位%) %dや%02dの書き方を詳しく知りたい人は 公式のドキュメント String Formatting Operations(英語)や "Python フォーマット"でググるを見てみて下さい from observer import JSObserver observer = JSObserver(outputdir, 10) customwebassets = " path to custom web assets " 出力ディレクトリにコピーするweb assetsのあるディレクトリを指定できます 指定したディレクトリの全てのファイルでデフォルトファイルを上書きします。 もしindex.htmlをカスタムした場合、下のものは置き換えられます {title}は Minecraft Overviewer {time}はレンダリングした日付と時刻に。例 Sun, 12 Aug 2012 15 25 40 BST {version}はOverviewerのバージョンに。例 0.9.276 (5ff9c50) レンダー辞書のキー レンダー辞書は設定キーに値を入れる辞書です。以下、設定キーを解説していきます。 注 すべてのキーは最上位の階層に記述することで全てのレンダーのデフォルトにすることができます。 例えば下の行を最上位に書くことで、すべてのレンダーで myworld を使用します。 world = myworld また、改めてworldを指定する必要がなくなります。 render[ arender ] = { title This render doesn t explicitly declare a world! , } world どのワールドをレンダリングするかをしていします。 ワールド辞書で指定した文字列を使いましょう。 必須 title 出来上がったマップ右上に表示される名前です。 複数レンダリングする場合はどんなマップなのかわかりやすい名前をつけると良いでしょう。 必須 dimension ワールドのどのディメンジョンをレンダリングするか指定します。 Minecraftではデフォルトで3つのディメンジョンがあります、Overworld(通常世界)、Nether(ネザー)、End(エンド)。 Bukkit鯖なら少し複雑になるでしょうが、通常はディメンジョンは1つなので、このオプションは無視して構いません。 この値は、次の3つのうちのどれか"overworld","nether","end"、もしくはディメンジョンのデータが入ってるフォルダ名(例"DIM-1")です。 注 もしネザーを選んだ場合はネザーのrendermodeにしなければなりません。そうしないとネザーの天井がレンダリングされます。 デフォルト "overworld" rendermode レンダーモードをたくさんある中から指定します。 値はレンダーモードオブジェクトだったり、文字列だったりします。 例 "rendermode" "normal", "normal"ライティング無しの普通のレンダリング。一番速いオプション。 "lighting"ブロッキーライティング有り。normalよりちょっと遅い。ゲーム内のスムーズライティング無しのと同じように見える "smooth_lighting"スムーズライティング有り。一番綺麗だけど遅い。ゲーム内のスムーズライティング有りのと同じように見える "night"夜間をブロッキーライティングでレンダリング。 "smooth_night"夜間をスムーズライティングでレンダリング。 "nether"ネザー用のノーマルライティングでレンダリング。ネザー以外のディメンジョンにも適用可能。normalと違う点は天井が剥がされて内部が見えるようになります。 注.レンダーモードをnetherにしたからといって、ネザーをレンダリングするわけではありません。 きちんとdimensionオプションで nether と指定しましょう。 "nether_lighting"ネザー用のブロッキーライティング。 "nether_smooth_lighting"ネザー用のスムーズライティング。 "cave"深さごとにブロックを色分けしてレンダリング。 デフォルト "normal" northdirection 北をどちらに向けてレンダリングするか。 以下の4つの値があります "upper-left" "upper-right" "lower-left" "lower-right" 順に左上、右上、左下、右下 デフォルト "upper-left" rerenderprob タイル内でブロックの変化がない場合にも再レンダリングされる確率 値は0から1の浮動小数点数でなければならない。 (追記 0から増やすメリットが分からない) デフォルト 0 imgformat タイルに使う画像のフォーマット。使えるのは"png","jpg","jpeg" デフォルト "png" imgquality タイルをJPEGで保存する場合の圧縮率(画質)。0から100の整数。 大きいほど、ノイズが減る・画質が上がるが、ファイルサイズが増える。 デフォルト 95 optimizeimg このオプションを使うと、別のツールをつかてpng画像を最適化してファイルサイズを小さくできます。 pngcrushとadvdefというソフトで、詳しい事はgoogleで http //www.google.co.jp/search?q=pngcrush http //www.google.co.jp/search?q=AdvanceCOMP+advdef (advdefの方はAdvanceCOMPという圧縮ソフト集みたいなモノの中の一つらしい) それぞれ、環境変数PATHの通ったとkろおや、/usr/binみたいな所に置かないとダメです。 値として、0;使わない 1 pngcrushを使う 2 advdefを使う 3;両方使う(非推奨) 使用することで、レンダリングに時間がかかるようになりますが、画質そのままでサイズが小さくなります。 デフォルト 0 bgcolor マップの背景色を設定します。 値はHTMLで使われている表記法か4組の(RGBA)表記法です。アルファチャンネルは0であるべきです。 デフォルト #1a1a1a defaultzoom マップを開いた時の拡大率です。0より大きくなければなりません。 デフォルト 1 base タイルのフォルダをリモートに設定します。マップ画像をリモートサーバに同期させる場合に便利です。 指定する場合タイルのフォルダまでを指定するのではなく、一つ上の階層を指定する。 例 "http //domain.com/map/world_day/"ではなく"http //domain.com/map/" texturepath レンダリングに使用するテクスチャパックを指定します。 フォルダかzipファイルを指定する。 crop 座標を設定して一定の範囲のみレンダリングすることができます。 書式は(min x, min z, max x, max z) 数値は、ゲーム内のF3キーで見られる座標です。 例えば(0,0)を中心に1000x1000の範囲だけレンダリングしたい場合は renders[ myrender ] = { world myworld , title "Cropped Example", crop (-500, -500, 500, 500), } このオプションの使い所といえば、誰かが遠出しすぎて不要な場所があったり、 小さい範囲を複数アングルでレンダリングしたりするときにに便利です。 +注 一度crop使ってレンダリングしてから、範囲変えて上書きはしない方がいい。みたいなこと書いてるけど省略 If you decide to change the bounds on a render, you may find it produces unexpected results. It is recommended to not change the crop settings once it has been rendered once. For an expansion to the bounds, because chunks in the new bounds have the same mtime as the old, tiles will not automatically be updated, leaving strange artifacts along the old border. You may need to use --forcerender to force those tiles to update. (You can use the forcerender option on just one render by adding forcerender True to that render’s configuration) For reductions to the bounds, you will need to render your map at least once with the --check-tiles mode activated, and then once with the --forcerender option. The first run will go and delete tiles that should no longer exist, while the second will render the tiles around the edge properly. Also see this faq entry. Sorry there’s no better way to handle these cases at the moment. It’s a tricky problem and nobody has devoted the effort to solve it yet. forcerender 値はboolean(trueかfalse) trueだと(というかfalse以外を書くと)更新が必要でなくても、無条件で再レンダリングされます。 ~ --forcerenderコマンドラインオプションと似てますが、こちらは設定ファイル内で複数レダリングする場合 すべて再レンダリングされ、無駄ができてしまいます。 forcerender Trueを一つだけに記述することで、それのみ強制再レンダリングし、残りは更新があった所のみになります。 このオプションは基本的にはつけたままにはせず、新しい設定にしてレンダリングし直したい時などに付けて、 終わったら外しておきます。そうしないと無駄が大きいです。 例 renders[ myrender ] = { world myworld , title "Forced Example", forcerender True, } changelist 文字列を設定し、そのファイル名ででテキストファイル出力します。 ファイルは更新のあった画像のリストとなっており、1行に1つづつファイルパスが記述されています。 複数のレンダーで同じファイルに出力することも可能です。 このファイルはOverviewerが起動されるたびにまっさらになります。 これは、ローカルでレンダリングしてアップロードするときなど、更新のある画像だけを扱いたい時に便利です。 markers マーカーや看板、面白そうなポイントを表示するのに使います。 値は辞書リストです。 注:詳しくはSigns and markersのセクションで デフォルト [](設定なし) poititle POI/マーカーのドロップダウンメニューの表示名を設定します。 デフォルト "Signs" overlay どのレンダーの上に重ねて表示するかを設定できます。 例えばA,B,Cとrenderがあって、Cのoverlayに["A","B"]とすると、AとBのマップをブラウザで見てる時に、 Overlaysというメニューが右上に出て、Cを重ねて見ることが出来る。 C単体では見られなくなる。 デフォルト;[](設定なし) showspawn 値はbooleanで、デフォルトはTrue。 Falseにすると初期スポーンエリアを示すアイコンが表示されなくなる。
https://w.atwiki.jp/fifa-pc/pages/68.html
Sound eXchangeのヘルプです。 Sound eXchange (SX) was a tool distributed by Electronic Arts that supports conversion of audio to and from the various EA game formats. Observations SX requires an ending chunk (e.g. SCEl) to be present in the input file, when decoding EALayer3. If no ending chunk is present, SX will exit stating "Couldn t allocate memory for EALayer3 buffer." Command Line Help sx v3.01.01 (Sound eXchange) Sep 22 2004 by Dave Mercier, EAC USAGE sx format [options] sourcefiles VERSION WIN NT v3.01.01 (Sound eXchange), Spit v3.19 SUMMARY sx is a sample format converter SPIT environment variable is SX_OPTS -aiff Export Apple AIFF/AIFC (s16b_int) (s8_int) (dvi_int) (s24b_int) -wave Export Microsoft Wave (s16l_int) (u8_int) -cdxa Export CD-ROM XA (cdxa) -vag Export Sony VAG (vag_blk) -raw Export RAW (no header) (s8_int) (s8_blk) (u8_int) (s16b_int) (s16b_blk) (s16l_int) (s16l_blk) (eaxa_blk) (cdxa) (vag_blk) (dvi_int) (mt_blk) (mt5_blk) (s24l_int) (s24b_int) -pcbank Export SND PC bank (s8_blk) (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) (vag_blk) (xboxadpcm) (gcadpcm) -pcstream Export SND PC stream (s8_blk) (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) -macbank Export SND MAC bank (s8_blk) (s16b_blk) (eaxa_blk) (mt_blk) (mt5_blk) (vag_blk) (xboxadpcm) (gcadpcm) -macstream Export SND MAC stream (s8_blk) (s16b_blk) (eaxa_blk) (mt_blk) (mt5_blk) -ps2bank Export SND PS2 bank (vag_blk) (s8_blk) (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) -ps2stream Export SND PS2 stream (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) -gcbank Export SND GC bank (s16b_blk) (gcadpcm) (mt_blk) (eaxa_blk) (mt5_blk) -gcstream Export SND GC stream (s16b_blk) (mt_blk) (eaxa_blk) (mt5_blk) -xboxbank Export SND XBOX bank (s16l_blk) (xboxadpcm) (eaxa_blk) (mt_blk) (mt5_blk) -xboxstream Export SND XBOX stream (s16l_blk) (xboxadpcm) (eaxa_blk) (mt_blk) (mt5_blk) -sndstream Export SND Generic stream (eaxa_blk) (mt_blk) (mt5_blk) -xenonbank Export SND XENON bank (s16b_blk) (eaxa_blk) (mt_blk) (mt5_blk) -pspbank Export SND PSP bank (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) (vag_blk) -xenonstream Export SND XENON stream (s16b_blk) (eaxa_blk) (mt_blk) (mt5_blk) -pspstream Export SND PSP stream (s16l_blk) (eaxa_blk) (mt_blk) (mt5_blk) -raw samplerep Import RAW with given sample data representation (s8_int) (s8_blk) (u8_int) (s16b_int) (s16b_blk) (s16l_int) (s16l_blk) (s24l_int) (s24b_int) Sample data representations that may be specified -s16l_int Signed 16-Bit Little-Endian Interleaved -s16b_int Signed 16-Bit Big-Endian Interleaved -s8_int Signed 8-Bit Interleaved -mt_blk MicroTalk Block (10 1) -vag_blk Sony VAG Block (3.5 1) -s16b_blk Signed 16-Bit Big-Endian Block -s16l_blk Signed 16-Bit Little-Endian Block -s8_blk Signed 8-Bit Block -eaxa_blk EA-XA Block (3.7 1) -u8_int Unsigned 8-Bit Interleaved -cdxa CD-XA Interleaved (3.5 1) -dvi_int DVI Interleaved (4 1) -gcadpcm GameCube ADPCM (3.5 1) -s24l_int Signed 24-Bit Little-Endian Interleaved -xboxadpcm Xbox ADPCM (3.5 1) -s24b_int Signed 24-Bit Big-Endian Interleaved -mt5_blk MicroTalk Block (5 1) -noprogress Do not display progress bars -rawc channels Specify RAW input channels (default 1) -raws rate Specify RAW samplerate (default 22050 Hz.) -split Split multi-channel into multiple single-channel files -onetomany Break multi-element files into individual files -element offset Adjust destination element positions by this offset -notruncate Don t remove samples after loop (default truncates) -det cents Specify new detune in cents for playback (default is 0) -br semitones Specify bend range for playback (default is 0) -vol 0-127 Specify volume for playback (default is 127) -rd cents Specify random detune range in cents (default is 0) -mrd cents Specify master random detune range in cents (default is 0) -rv 0-127 Specify random volume range for playback (default is 0) -pan 0-127 Specify pan offset (default is 64) -rp 0-127 Specify random pan offset range (default is 0) -fps 0.1-120.0 Specify chunk rate for stream (default is 15.0) -renv -1-127 Specify release envelope (default is -1) -envi 0-127 Specify initial envelope volume (default is 127) -env dur,vol[,dur,vol,...] Specify playback envelope as a series of segments, each with a duration and volume. duration is in 1/100ths of a second and volume ranges from 0..127 -az 0..65535[,...] Specify directional azimuths for each channel. First azimuth listed corresponds to the lowest channel. An azimuth of 0 would be directly ahead, 16384 would be directly to the right. -loops sample The loop start value sets which sample the loop section begins on. "sample" - Specify the sample to begin the loop section, -1 indicates no loop start point. Allowable range is -1 .. 2147483647. -loope sample The loop end value sets which sample the loop section ends on. "sample" - Specify the sample to end the loop section, -1 indicates no loop end point. Allowable range is -1 .. 2147483647. -ifnoloops sample The loop start is set to the value given, if there isn t one currently in the file. -1 means no loop start point. "sample" - Specify the sample to begin the loop section, -1 means no loop start point Allowable range is -1 .. 2147483647. -ifnoloope sample The loop end is set to the value given, if there isn t one currently in the file. -1 means no loop end point "sample" - Specify the sample to end the loop section, -1 means no loop end point. Allowable range is -1 .. 2147483647. -markertouser Explicitly transfer all the AIFF markers to user data. This is not done by default -cbr bitrate The constant bit rate is used to set the level of compression. "bitrate" - Specify in bits per second. Allowable range is 8000 .. 960000. -vbr quality The variable bitrate quality is used to set the level of compression. "quality" - Specify compression quality, 0 = highest compression (bad sound quality), 100 = lowest compression (good sound quality) Allowable range is 0 .. 100. -playloc location The play-back location determines what system a sound will be played from. "location" - Location can be one of default , spu , maincpu , iopcpu , ds2dhw , ds3dhw , or dsp . -priority value Set priority for voice allocation. "value" - Specify priority for playback (default is 0, 100 is highest). Allowable range is 0 .. 100. -fxzero level Set level for effect bus 0. "level" - Specify effect level for bus 0 (default is 0). Allowable range is 0 .. 127. -embeduser Attach user data to a sample. "data" - Specify user data to attach to sample. Specify as a file name. -embedts window Generate and embed additional data needed to perform run-time time stretch. "window" - Window size to use to correlate sample data, specified in microseconds. 9000 is a good default. Allowable range is 1000 .. 100000. -removeuserbyid id Remove user data chunks from a sample, which ID matches the given value. "id" - Specified as the id of the chunk(s) to be removed. It must be a four-letter id. (eg. MYID) -removeuserbyvalue value Remove user data chunks from a sample, which ID matches the given value. "value" - Specified as the id of the chunk(s) to be removed. The value entered can be of any standard format, but you must specify it clearly. (eg. 0x4F64EA6C) Allowable range is -2147483648 .. 2147483647. -removeuserall Remove all user data from a sample. (No parameter is required) -rs rate Resample to a new rate. "rate" - Specified as new sample rate in Hertz. Allowable range is 400 .. 96000. -dstofit frames Ensure sample uses no more than N frames by reducing sample rate until it fits. "frames" - Specify maximum amount of frames allowable in sample. Allowable range is 1 .. 2147483647. -alignloop alignment Resample and insert silence to line loop points up to alignment restrictions. "alignment" - Specify the alignment restriction. Allowable range is 2 .. 1024. -padloop padding Extend and/or replace samples after loop end point with the samples that begin at the loop start point. "padding" - Specify the amount of samples to pad out after the loop end point. Allowable range is 0 .. 2147483647. -sa amplitude Scale amplitude of sample. "amplitude" - Specified as percentage of original volume. Allowable Range is -10000.0 .. 10000.0. -fadein Apply linear fade-in to sample. "time" - Specified as milliseconds into sample to achieve full amplitude. Allowable range is 0 .. 2147483647. -fadeout time Apply linear fade-out to sample. "time" - Specified as milliseconds to end of sample to begin fade to zero amplitude. Allowable range is 0 .. 2147483647. -crop startframe,frames Crop a section of a sample. "startframe" - Specify frame to begin crop at. Negative values insert silence at start of crop. Allowable range is -2147483647 .. 2147483647. "frames" - Specify number of frames to crop. Specifying past original sample will insert silence at end of crop. Allowable range is 1 .. 2147483647. -remix target Remix will either down-mix or up-mix or otherwise remix the source into the new target mix type. For example a 5.1 file could be mixed down to stereo, or even a stereo ProLogic II file. Note that ProLogic encoded files are not decoded when converted to quad or 5.1, they are treated as stereo. "target" - Remix target can be one of mono , stereo , quad , 5.1 , or prologic2 . -copychan source,destination Copy source channel sample data to destination channel. "source" - Source channel to copy (channels start at 0). Allowable range is 0 .. 5. "destination" - Destination channel to copy to (channels start at 0). Allowable range is 0 .. 5. -cutchan source Cut source channel sample data out of sample. "source" - Source channel to cut (channels start at 0). Allowable range is 0 .. 5. -distort amount Distorts the signal by clipping high amplitudes. "amount" - Specify amount of distortion (0 is least distortion). Allowable range is 0 .. 32767. -reverb preset,level Apply given reverb type to sample. "preset" - Specify reverb preset. Allowable range is 0 .. 0. "level" - Specify reverb level. Allowable range is 0 .. 127. -resampfilter filter Resample to a new rate using a filter profile. "filter" - Specify filter profile to use to perform resample. Specify as a file name. SX currently supports the following formats for importing - Apple AIFF/AIFC - Microsoft Wave - CD-ROM XA - Sony VAG - RAW (no header) - SND PC bank - SND PC stream - SND MAC bank - SND MAC stream - SND PS2 bank - SND PS2 stream - SND GC bank - SND GC stream - SND XBOX bank - SND XBOX stream - Quicktime Movie - MPEG - SND Generic stream - SND XENON bank - SND PSP bank - SND XENON stream - SND PSP stream @ file with file, containing a list of options and files -.ext specifies output file extension -= name specifies output file name -v0 no console output -v1 prints source file name and errors -v2 status line for each file (default) -v3 additional info Example Convert AIFF format audio.aif into pc stream format audio.asf. sx -pcstream audio.aif -=audio.asf Binary details SX.EXE size 577536 bytes md5 daffbcd5b48579801afe780140520c78 sha1 5252db36c709ad1a47fecdd4060a1fd40f83f387
https://w.atwiki.jp/guru/pages/89.html
{{{ # Doxyfile for Doxygen 1.7.4 ################################################################################ # Project ################################################################################ DOXYFILE_ENCODING = UTF-8 # このタグでは、設定ファイルのすべての文字に使うエンコードを指定します。 # デフォルトはUTF-8で、このタグが最初に指定される前のすべてのテキストもUTF-8です。 # Doxygenはlibiconv(libcにビルトインされているiconv)を使って変換しています。 # エンコードの種類については、http //www.gnu.org/software/libiconvを # 参照してください。 PROJECT_NAME = Doxygen Template Project # PROJECT_NAME タグは、一単語 (または、ダブルクォートで囲まれた複数単語)からなり、 # ドキュメントを生成しようとしているプロジェクトの名前となります。 # この名前は、生成されたほとんどのページのタイトルとして使われます。 # また、少数ですが、別の場所でも使われます。 PROJECT_NUMBER = 1.0.0 # PROJECT_NUMBER タグは、プロジェクト番号やリビジョン番号を入れるのに使えます。 # 生成されたドキュメントを保管したり、バージョン管理システムを使うような # 場合に役立つでしょう。 PROJECT_BRIEF = Doxygenのテンプレート用プロジェクトファイルです。 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer # a quick idea about the purpose of the project. Keep the description short. PROJECT_LOGO = icon32.png # With the PROJECT_LOGO tag one can specify an logo or icon that is # included in the documentation. The maximum height of the logo should not # exceed 55 pixels and the maximum width should not exceed 200 pixels. # Doxygen will copy the logo to the output directory. OUTPUT_DIRECTORY = ./doc # OUTPUT_DIRECTORY タグは生成されたドキュメントが置かれるベースパス # (相対パスあるいは絶対パス)を指定するために使います。 # 相対パスを指定した場合は、doxygen を実行した場所からの相対パスとなります。 # 空白のままにした場合は、カレントディレクトリが使用されます。 CREATE_SUBDIRS = YES # CREATE_SUBDIRS タグが YES であれば、4096 サブディレクトリ (2段階で) を # それぞれの出力形式のディレクトリ下に作成し、そこに生成したファイルを分配します。 # このオプションは、doxygenに大量のソースファイルを与えたい場合に有用です。 # 生成される全ファイルを同じディレクトリに排出するとファイルシステムの # パフォーマンスに問題を起こす恐れがあります。 OUTPUT_LANGUAGE = Japanese # OUTPUT_LANGUAGE タグは、doxygen によって生成されるあらゆるドキュメントの # 記述言語を指定します。Doxygen は、この情報を使って、すべての既定の文言を # 適切な言語で生成します。 デフォルトの言語は、English (英語) です。 # 他にサポートされている言語は 次のとおり # Afrikaans (アフリカーンス語) # Arabic (アラビア語) # Brazilian (ブラジル・ポルトガル語) # Catalan (カタロニア語) # Chinese (中国語) # Croatian (クロアチア語) # Czech (チェコ語) # Danish (デンマーク語) # Dutch (オランダ語) # Finnish (フィン語) # French (フランス語) # German (ドイツ語) # Greek (ギリシャ語) # Hungarian (ハンガリー語) # Italian (イタリア語) # Japanese (日本語) # Korean (韓国語) # Lithuanian (リトアニア語) # Norwegian (ノルウェー語) # Persian (ペルシア語) # Polish (ポーランド語) # Portuguese (ポルトガル語) # Romanian (ルーマニア語) # Russian (ロシア語) # Serbian (セルビア語) # Slovak (スロヴァキア語) # Slovene (スロヴェニア語) # Spanish (スペイン語) # Swedish (スウェーデン語) # Ukrainian (ウクライナ語) BRIEF_MEMBER_DESC = YES # BRIEF_MEMBER_DESC タグが YES (デフォルト)であれば、ファイルやクラスの # ドキュメントの中で、リストしたメンバーの後に要約説明を置きます (JavaDoc 類似)。 # NO に設定すると、この機能は無効になります。 REPEAT_BRIEF = YES # REPEAT_BRIEF タグが YES (デフォルト) であれば、メンバーや関数についての # 要約説明を、詳細説明の前に置きます。 # メモ # HIDE_UNDOC_MEMBERS と BRIEF_MEMBER_DESC の両方が NO に設定された場合は、 # 要約説明は完全に抑制されます。 ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # このタグは、いろいろなリストでテキストを整形するために使う、ある程度識別力の # ある、要約説明略語化機能です。 指定したリストの各文字列を要約説明中の # 主要テキストとして認識すると、テキストから除去し、リスト全体を処理した後 # 注釈付きテキストとして扱います。 主要テキストとして認識できないときは、 # 要約説明は原文のまま扱います。 このタグが空白の場合は、次の値を使用します # ("\$name"は自動的に実体名に置き換わる)。 "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" "represents" "a" "an" # "the" ALWAYS_DETAILED_SEC = NO # ALWAYS_DETAILED_SEC タグ と REPEAT_BRIEF タグの両方が YES であれば、 # 要約説明しかなくても詳細説明セクションを生成します。 INLINE_INHERITED_MEMB = NO # INLINE_INHERITED_MEMB タグが YES であれば、クラスのドキュメントにおいて、 # そのクラスの継承メンバー全部を、正規のクラスメンバーのように見せます。 # 基底クラスのコンストラクタ、デストラクタ、代入演算子は表示されません。 FULL_PATH_NAMES = YES # FULL_PATH_NAMES タグが YES であれば、ファイルリストやヘッダーファイルにおいて、 # ファイル名の前にフルパスを付加します。 NO に設定すると、ファイル名を一意にする # に充分なだけの最も短いパスが付加されます。 STRIP_FROM_PATH = # FULL_PATH_NAMES タグが YES であれば、STRIP_FROM_PATH タグを定義することに # よって、フルパスの一部を除去することができます。除去するのは、パスの先頭部分が # 定義された文字列の一つにマッチした場合だけです。 ファイルリストで相対パスを # 示すのに用いることもできます。 空白にすると、起動ディレクトリを除去します。 STRIP_FROM_INC_PATH = # ドキュメントのリーダがクラスを利用する際にインクルードするヘッダファイルの # パスから、一部を除去するために使います。 空白であれば、クラス定義を含む # ヘッダファイルの名前だけが使われます。 指定する場合は、通常 -I フラグで # コンパイラに渡すインクルードパスを指定してください。 SHORT_NAMES = NO # SHORT_NAMES タグが YES であれば、ファイル名をかなり短くします。そのかわり # 読みにくくなります。 これは、DOS、Mac、CD-ROM といった、長い名前をサポート # していないファイルシステムを使用する場合に有用です。 JAVADOC_AUTOBRIEF = NO # JAVADOC_AUTOBRIEF タグが YES であれば、JavaDoc スタイルのコメントの先頭行 # (最初の . まで) を要約説明と解釈します。 NO (デフォルト) に設定すると、 # JavaDoc スタイルは、Qt スタイルのコメントと同じように扱います(要約説明として # 扱うには @brief コマンドを指定する必要があります)。 QT_AUTOBRIEF = NO # QT_AUTOBRIEF タグを YES であれば、Qt スタイルコメントの先頭行 (最初の . まで) # を要約説明と解釈します。 NO (デフォルト) に設定すると、Qt スタイルは、通常の # Qt スタイルコメントと同じように扱います(要約説明として扱うには \brief コマンド # を指定する必要があります)。 MULTILINE_CPP_IS_BRIEF = NO # MULTILINE_CPP_IS_BRIEF タグを YES にすると、複数行 C++ 特別コメントブロック # (//! や /// コメントのブロック) を要約説明として扱います。これは以前の # デフォルトの振る舞いでした。新しいデフォルトでは、複数行の C++ コメント # ブロックを詳細説明として扱います。以前の振る舞いが好みならこのタグを YES に # してください。ただし、rational rose コメントは認識しなくなります。 INHERIT_DOCS = YES # INHERIT_DOCSタグを YES (デフォルト)にすると、ドキュメントがないメンバーの場合、 # 再実装するメンバーからドキュメントを引き継いできます。 SEPARATE_MEMBER_PAGES = NO # SEPARATE_MEMBER_PAGES タグを YES にすると、各メンバーにページを割り当てます。 # NOにすると、メンバーのドキュメントは、それを内包するファイル・クラス・ # 名前空間の一部になります。 TAB_SIZE = 4 # TAB_SIZE タグは、タブの幅 (スペースの数) を設定します。 doxygen は、 # この値を使用して、コード片においてタブをスペースに置換します。 ALIASES = # このタグは、ドキュメント内でコマンドとして振る舞うような、いくつかの別名を # 記述するのに使用されます。別名は、次の形式をしています。 # 名前=値 # たとえば、次の行を追加すると、 # "sideeffect=\par Side Effects \n" # ドキュメント内で \sideeffect (or @sideeffect) というコマンドが使えるように # なります。このコマンドは、結果として、"Side Effects " という見出しを持つ # ユーザ定義のパラグラフを生成します。 別名の値のところに \n を置くと改行が # 挿入されます。 OPTIMIZE_OUTPUT_FOR_C = NO # プロジェクトが C のソースだけからなっている場合は、OPTIMIZE_OUTPUT_FOR_C タグ # を YES に設定してください。 doxygen は、より C に適合した出力を生成します。 # たとえば、使用される名前のいくつかが異なっていたり、全メンバーのリストが # 省略される、など。 OPTIMIZE_OUTPUT_JAVA = NO # JavaやPythonのソースだけでプロジェクトを構成している場合は、 # OPTIMIZE_OUTPUT_JAVA タグを YES にしてください。すると、その言語により # 適合した出力を生成します。たとえば、名前空間はパッケージとして提示され、 # 修飾スコープは別の形で提示されるなど。 OPTIMIZE_FOR_FORTRAN = NO # Fortranソースで構成されるプロジェクトの場合は、OPTIMIZE_FOR_FORTRAN タグを # YES にしてください。Fortranに適合した出力をします。 OPTIMIZE_OUTPUT_VHDL = NO # VHDLソースで構成されるプロジェクトの場合は、OPTIMIZE_OUTPUT_VHDL タグを # YES にしてください。DoxygenはVHDLに適合した出力をします。 EXTENSION_MAPPING = # Doxygenでは、解析するファイルの拡張子にしたがって、パーサーを選択します。 # このタグを使って、与えられた拡張子についてどのパーサを使うかを指定できます。 # # Doxygenには組み込みの仕様がありますが、このタグを使えば上書きまたは拡張 # できます。 指定方式は、ext=languageで、ext にはファイル拡張子を、 # languageにはパーサを指定します。languageは次のうちどれかです。 # IDL, Java, Javascript, C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, # C, C++。 たとえば .incファイル(デフォルトはPHP)をFortranファイルとして扱い、 # .fファイル(デフォルトはFortran)をCファイルとして扱うには、inc=Fortran f=C # とします。 BUILTIN_STL_SUPPORT = NO # STLクラス (std string, std vector など) を使っていても、STLソース # (そのタグファイル) を入力としてインクルードしたくない場合は、このタグを # YES にしてください。 するとdoxygenは、STLクラスを引数に含む関数宣言と定義 # (たとえば、func(std string); と func(std string) {}) をマッチングします。 # また、STLクラスを含む継承・コラボレーション図をより完璧で正確にすることも # できます。 CPP_CLI_SUPPORT = NO # Microsoftの C++/CLI 言語を使う場合は、解析を有効にするためこのオプションを # YESにしてください。 SIP_SUPPORT = NO # sipソースのみでプロジェクトを構成している場合は、SIP_SUPPORTタグをYESに # してください。 すると、通常のC++同様に解析しますが、保護レベルを明示して # いない限り、すべてのクラスをprivateでなくpublic継承を使っているものと # 想定します。 IDL_PROPERTY_SUPPORT = YES # MicrosoftのIDLには、属性のget/setメソッドを示すためのpropget/propput属性が # あります。このオプションを YES (デフォルト)にすると、説明の中のプロパティで # get/setメソッドを入れ替えることができます。ただし、メソッドが単純なタイプを # get/setしている場合だけです。そうでない場合や、メソッドを表示したい場合は、 # このオプションをNOにしてください。 DISTRIBUTE_GROUP_DOC = NO # メンバーのグループ化がドキュメント内で使われており、DISTRIBUTE_GROUP_DOC タグ # が YES であれば、グループ内の最初のメンバーのドキュメント (もしあれば) を、 # そのグループの他のメンバーに対して再利用します。デフォルトでは、グループ内の # すべてのメンバーは、明示的にドキュメント付られている必要があります。 SUBGROUPING = YES # SUBGROUPING タグを YES (デフォルト) にすると、同じタイプのクラスメンバー # グループ (public 関数群など)が、そのタイプのサブグループ(Public関数セクション # など)として扱われます。サブグループ化を避けるには NO にしてください。 これは、 # クラスごとに\nosubgrouping コマンドを使ってもできます。 INLINE_GROUPED_CLASSES = NO # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). TYPEDEF_HIDES_STRUCT = NO # TYPEDEF_HIDES_STRUCT を YES にすると、struct, union, enum の typedef は、 # typedef の名をつけて、struct, union, enum としてドキュメント出力されます。 # typedef struct TypeS {} TypeTという構造の場合は、TypeTという名の struct として # 出力されます。 TYPEDEF_HIDES_STRUCT を NO にすると、typedef は、ファイル、 # 名前空間、またはクラスのメンバーとして出力されます。struct は TypeS という名で # 出力されます。 C言語で、コーディング規約によって複合型はすべて typedef で定義 # され、typedef だけが参照され、タグ名は参照されない場合に、有用です。 EXTRACT_ALL = NO # SYMBOL_CACHE_SIZEを指定したサイズは、内部キャッシュのサイズで、これにより # どのシンボルを残し、どのシンボルをディスクにフラッシュするかが決まります。 # キャッシュが満杯の場合は、使用回数の少ないシンボルからディスクに書き出されます。 # 中小規模のプロジェクト(入力ファイルが1000未満)の場合、デフォルトの値で十分で # しょう。大規模プロジェクトの場合、キャッシュサイズが小さすぎると、ディスクとの # 間のシンボルスワッピングに追われてしまい、パフォーマンスがかなり悪くなる # 可能性があります。 システムの物理メモリサイズが充分であれば、キャッシュサイズ # を増やせば、メモリにシンボルをより残せるのでパフォーマンスが改善するでしょう。 # 値は対数スケールで働くので、1増やせばメモリ使用がほぼ倍増します。キャッシュ # サイズは次の式で与えられます。 $2^{(16+\mbox{SYMBOL\_CACHE\_SIZE})}$ $2^{16} # = 65536$ シンボルのキャッシュサイズにしたがって、有効な範囲は、0から9で、デフォルトは0です。 ################################################################################ # Build ################################################################################ # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # anonymous_namespace{file} , where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function s detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to # do proper type resolution of all parameters of a function it will reject a # match between the prototype and the implementation of a member function even # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file , where command is the value of # the FILE_VERSION_FILTER tag, and input-file is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. The create the layout file # that represents doxygen s defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don t exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file $line $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http //www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py # *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.d \ *.java \ *.ii \ *.ixx \ *.ipp \ *.i++ \ *.inl \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.idl \ *.odl \ *.cs \ *.php \ *.php3 \ *.inc \ *.m \ *.mm \ *.dox \ *.py \ *.f90 \ *.f \ *.for \ *.vhd \ *.vhdl # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples ANamespace, AClass, # AClass ANamespace, ANamespace *Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command filter input-file , where filter # is the value of the INPUT_FILTER tag, and input-file is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty or if # non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) # and it is also possible to disable source filtering for a specific pattern # using *.ext= (so without naming a filter). This option only has effect when # FILTER_SOURCE_FILES is enabled. FILTER_SOURCE_PATTERNS = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU s global source # tagging system (see http //www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. # It is adviced to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don t put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http //en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple s Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http //developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt s qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http //doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http //doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http //doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # a href="http //doc.trolltech.com/qthelpproject.html#custom-filters" # Qt Help Project / Custom Filters /a . QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project s # filter section matches. # a href="http //doc.trolltech.com/qthelpproject.html#filter-attributes" # Qt Help Project / Filter Attributes /a . QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt s qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. USE_INLINE_TREES = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax # (see http //www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. USE_MATHJAX = NO # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the # mathjax.org site, so you can quickly see the result without installing # MathJax, but it is strongly recommended to install a local copy of MathJax # before deployment. MATHJAX_RELPATH = http //www.mathjax.org/mathjax # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a PHP enabled web server instead of at the web client # using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server # based approach is that it scales better to large projects and allows # full text search. The disadvantages are that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = YES # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice only use this tag if you know what you are doing! LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice only use this tag if you know what you are doing! LATEX_FOOTER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen s # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen s config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine s section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don t overwrite each other s variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the = operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen s preprocessor will remove all references to function-like macros # that are alone on a line, have an all uppercase name, and do not end with a # semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project s groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl ). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http //www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will write a font called Helvetica to the output # directory and reference it in all dot files that doxygen generates. # When you want a differently looking font you can specify the font name # using DOT_FONTNAME. You need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = Helvetica # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG s Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the # \mscfile command). MSCFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot ( 1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES }}}
https://w.atwiki.jp/v-lyrics/pages/532.html
-ERROR [ TAG Alp-- HPR Lily niki title] Music niki/niki Lyric niki/niki Arrange niki/niki Vocal Lily Videos PVs ■ Show/Hide Video http //www.nicovideo.jp/watch/sm12099561 http //www.nicovideo.jp/watch/sm12099561 Translations ■ Show/Hide Romaji (This hasn t been checked. It is likely to contain translation miss.) mieru? kono me no namida inochi no iro ni nijin de iru nani wo nokoshite ataeta? toikakete tsuburete ao to aka to shiro mazaru kono yononaka de sakende iru nani wo motomete aruita? oikakete tsukarete dono kurai ijyoo? kowarete iru no? kowarete iru yo soredemo iki wo ... shitai shitai kimi ni mieteru no? yume no yoo ni saigo no kotoba mo tsumaru yo ERROR tooi hi no koto awai hikari ga sora ni afurete iru nani wo erande narabeta? namida iro kasanete ukabu sono karada ishiki no naka tokete nijin de shimau nani wo mite kite kurabeta? kanashikute wasurete dono kurai ijyoo? yugande iru no? yugande iru yo soredemo iki wo ... shitai shitai yume wo mite iru no omou kimi ni saigo no kotoba mo tsumaru yo ERROR ataeru koto mo ushinau koto mo wasureru koto mo dekinai no? abaredasu kono eraa[error] koroshite warau boku ga mata eraa[error] kowashite iru no? kowashite shiru no? soredemo namida ... itai itai kimi ni todoita no? utau koe ni saigo no kotoba narabete mo kasanaru iro nijinde kowarete iru no? kowarete iru yo soredemo iki wo ... shitai shitai kimi ni mieteta no? yume no yoo ni saigo no kotoba mo tsumaru yo Error 2010-09-28 02 36 Generated automatically [部分編集] ■ Show/Hide Translation ---- Waiting for Trasnlation Entry... Original Lyric, Nicosound MP3, etc http //www5.atwiki.jp/hmiku/pages/12096.html http //nicosound.anyap.info/sound/sm12099561 http //www.nicomimi.com/play/sm12099561 Sub video, PV, other fan made video in YouTube [Add] http //www.youtube.com/watch/xxxxxxxxx ADD LINK すべてのコメントを見る (Information in this page is based on HatsuneMiku@Wiki) _
https://w.atwiki.jp/chex/pages/320.html
Lecture for intermediate Lecture for intermediate Lecture for those who intend to become intermediate Lecture for those who intend to become intermediate Introduction As you, designers who are familiar to the development of OKEs some degree, may know that clear goals are not exist in this game. You can play it in any direction, and it is free that how far you elaborate. It can be thought that, the goal setting is also a part of the contents of this game already. That is, as you become more familiar, how to enjoy and how to beat becomes more different from each other. For example, there are some people pursue every day how well avoid mines. But next to it, there are some people do everything in their power to assault by destroying all mines. Descriptions satisfy both at the same time is extremely difficult. As you become more familiar, as it becomes finer contents, your own strategy is going to be made. For these reasons, it is difficult to determine what to lecture for intermediate people or what is the definition of intermediate in the first place. So first, for those who intend to become intermediate, I entered from the description of the timing and execution speed of the program that are essential knowledge for creating large programs. For the reaction rate of OKE and scale of the program A CPU that you select in Hardware has parameters of "storage capacity", "execution speed" (and weight). "Execution speed" represents the execution speed of the program and the unit c/s means "(the number of executing) chips per second". The highest execution speed of CPU is 240c/s; you can execute 240 actions or decisions per second. Looks ridiculously large numbers at first glance, but is not really so much. Let s take a closer look. In this game, various judgment of combat takes place on a frame-by-frame basis. Frame is a still image that makes up a video. When you choose "frame advance" of the system menu in combat you can check the status of frame-by-frame. This game is 30fps, 30 pictures will be displayed per second. Therefore, if the CPU is 240c/s, you execute 240 chips per one second (= 30 frames), 8 chips per frame (= 1/30 sec). To pause during the battle actually, you can check the number of executing chips that appears bright. This number will significantly affect the "reaction rate of OKE". OKE runs all the actions as instructed in chips read in that time. Even though you made an excellent program, not only it becomes waste unless it is done when it is needed, but also it may cause trouble when it is executed with unnecessary timing. So let s look at an avoidance decision. There is a branch of “whether there is a bullet around the body” at the beginning of the avoidance decision, perform the avoidance maneuver If this were yes, go to the next process if it was no. What is needed in this case is that the first branch is executed when there is a bullet in the vicinity of the body. For example, if you set the range of around the body radius 100m, it is best to branch to avoidance decision with a margin of distance of 100m. But if the code is longer, for example, what happens if a program executes about 40 chips until return at earliest? Even with the fastest CPU, it takes 5 frames or more to go around once. If there is only once decision per go-around, avoidance maneuver is performed 5 or more frames late when a bullet comes at the worst timing. 5 frames = 5/30 of a second, it is about 0.17 seconds. During this time, AP ammunition flies about 50m; beam and rail gun flies about 80m. That is, then you will get a direct hit with no reaction if it was shot from the distance. Even though you perform reaction, if not even 30m away at that time, it is too late to act. Leaving aside one shot of beam gun, in case of rail gun, even a hit is directly linked to defeat frequently. The avoidance decision was given as an example here, but I can say the same thing to the decision of all of course. As it become a larger-scale program, more complex assessment of the situation and actions can be performed by OKEs but the reaction rate will reliably drop instead. Stack of subtle reduction of reaction rate affect more than a little on combat result. If you create a large program without thinking about the reaction rate, most will weaken comprehensively than small and medium-sized programs. There are mainly two know-hows to maintain the reaction rate when you building a large program, utilizing subroutine and utilizing loop. Utilize subroutine In the CPU with a maximum storage capacity, there are two areas that can be form subroutines of 7× 7 size on the right side. It is possible to run the subroutine from the chips of the “SUB 1” “SUB 2” placed in the main program of the left side. When the executed subroutine is completed, the process proceeds to the next of “SUB” chip which was placed in the main routine. By placing regularly this "SUB" chips in the main routine, it becomes possible to execute programs implemented into the subroutine several times until go around a main routine. For example, implement avoidance decision into a subroutine, when you call the subroutine whenever the main routine proceeds about 10 chips, reaction rate is significantly improved because it began to determine once per about two frames whether it is necessary to avoid. It should be noted that, of course main program is stopped at the place of "SUB" chip while executing subroutine. If there is a long program that is always executed in the subroutine, the rotation of the main program will be dull depending on the number of calls. Although rate of behavior that implemented into the subroutine improves, all other actions are delayed slightly. Therefore, you must be sure to execute subroutines only when necessary. To give avoidance as an example, if the OKE is quick moving or jumping already, it is not needed to execute subroutine. By increasing the rotation speed of the main routine even slightly by reducing unnecessary processing, let s improve the rate of each operation. Utilize loop To tell the truth first, loop may cause a fatal bug in high probability if you are not familiar. What is the loop, about the risk and the usefulness of the loop, I describe a simple example together. Please see the image below. This is avoidance decision of the program that is described in "Lecture for beginners", introduced the missile countermeasure. Missile detection is added before scanning for a high-speed flying object. It is built with the assumption that the behavior " Continue to lie down when a missile is detected to 100m range, then jump to avoid after it approach to 20m" . As long as the missile does not come within 20m, it will continue to run the operation of lie down repeatedly. This portion that is run repeatedly, this is the loop. By looping temporarily here, at the moment the missile enters the 20m range, you will be able to perform reaction immediately. To execute the process that you want to run on certain situations quickly, or in order to run an action timely at the moment the situation has changed, loop processing is quite useful. Now tested the program of the sample image, then it was confirmed that it is possible to avoid opponent’s missile on a one-to-one. So I organized a three-machine team triumphantly, and fought with a team that has missiles, then, OMG! There is an OKE that continues to lie down and does not move at all! Of course playing possum like that definitely not effective to OKEs, they were wiped out within a numerical disadvantage. What on earth was the problem? This sample is the form of, "Detected a missile coming towards in the 100m distance " → "loop until a missile is detected in the 20m range" The problem is that, in the first place, it has formed a loop on the assumption that "missile coming towards" is reach to the location of the OKE reliably. The missile coming towards is aimed at the OKE really? Or there is not an obstacle before it reaches? In such a variety of reasons, if the missile did not come in the 20m range, you will not be able to get out of the loop. In this case, you can solve the problem by modifying like the image below. By only one shifting of the ahead of an arrow, you will leave the loop if the missile does not come to 20m range. In the case also maintaining a bidirectional loop, you can resolve the problem as the image below. When you specify the range, you can be outside the range around your OKE by up and down key while holding down R button. By utilizing this, form a loop of “Continue to lie down if there are one or more missiles between 20m and 100m, proceed to avoidance decision when there are no missiles”. In this way, you can perform jump by avoidance decision when the missile is coming within 20m. In addition, even though the missile towards different direction or disappear, loop is always released. (There are waste and problem still in this example, I set it aside for the time being) It was long, but in short, it is that want you to understand firmly the risk and benefits of loop processing. Because bugs of this kind occur frequently, let s repeat behavior test and thoroughly verify when introducing a loop. If you will master successfully, quick reactions become possible in limited situations and that slight differences lead to great results. [Summary] When building a large program, needs attention to the execution timing of behaviors that require quick responses. The more complex and courteous programs, the more reduced the reaction rate is. Beware treatment of unnecessary processes in many cases. Consider the timing that should be executed and the need for each decision. For example, execute a long thinking process during operation that cannot be canceled, etc. Subroutine and loop are useful, but you should utilize it after a solid understanding of its risk. If the subroutine that will be called each time is long, the main program will not go around quickly. Wrong release condition of the loop leads to defeat very likely. [Supplemental Commentary loop examples] Although I gave the missile countermeasure loop as a reference, in addition, describe an example of a relatively safe loop to be able to make easy.Conducting enter and exit of the loop in accordance with the each state of OKE, it will be safety and quick loop process. For example, because it will not be able to perform the most operations when the OKE is struck and overturning, there is a way to check the situation in the dedicated loop and determine whether activate options or not, take evasive action to avoid additional attack immediately after the state recovered. In opposite, if the target is struck and overturning, it might be interesting to enter the loop for pursuit and additional attack. Because the state recovers automatically, it will be expected a certain effect without causing an infinite loop. Narrow down the processes There are many processes that you want to monitor situation changes constantly such as Scan for Projectiles, Activate Option, and process during overturning, etc. You can easily monitor such processes constantly by putting in places to pass frequently (Top of main and top of sub used frequently). However, in other words, would be referred to as "regardless of need or not, have repeated frequently the same process ", it is a waste of processing power. This will cause delaying the response. For example, in the case of Self-Cooling System of options, you do not have to monitor the amount of heat of body constantly in many cases. Mostly the purpose of starting the cooling is either, prevent thermal damage when it is struck or increase the frequency of fire. If the purpose of preventing thermal damage, it is only necessary to assess once when entering or exiting the process of when be struck or avoiding. If you increase the frequency of fire, it is only necessary to assess when it refrain from attack due to the heat. In this way, it is possible to improve the throughput performance if you stop constantly monitor the processes being monitored constantly. However, by stopping the constant monitoring, it is possible that the case that cannot be monitored occurs. In the case of cooling system, if you assess only when entering or exiting the process of when be struck or avoiding, there is likely to be roasted by "beam from close range (undaunted, cannot detect by Scan for Projectiles)" or "heat generated by the flames of napalm (undaunted, are not projectiles )". Although you should assess elsewhere to avoid this, the mounting area increases in this instance, and eventually you would waste the processing power if you assess too much. It is necessary to narrow down and pinpoint the necessary timing of decision, or if you do not narrow, must be determined after having analyzed trade-off among the mounting area, effect and risk when stopped constant monitoring.